サービスのステージング (Stage Service) (サーバー)

概要

サービス定義をステージングします。ステージングされたサービス定義ファイル (*.sd) には、Web レイヤー、Web ツール、またはサービスの共有に必要なすべての情報が含まれています。

使用法

  • このツールは、サービス定義のドラフト ファイル (*.sddraft) をサービス定義に変換します。その後、このサービス定義を [サービス定義のアップロード (Upload Service Definition)] ツールに入力し、Web レイヤー、Web ツール、またはサービスを ArcGIS OnlineArcGIS Enterprise、または ArcGIS Server にアップロードして公開することができます。ドラフト サービス定義を使用して Web レイヤー、Web ツール、またはサービスを直接公開することはできません。

  • ArcGIS Pro を使用して Web レイヤー、Web ツール、またはサービスを共有すると、[サービスのステージング (Stage Service)] ツールが実行され、[カタログ] ウィンドウの [ジオプロセシング履歴] アイテムにエントリが表示されます。

  • このツールは、*.sddraft ファイルを解析して、サービス定義ドラフト ファイルをサービス定義ファイル (*.sd) に変換する前に、適合性と潜在的なパフォーマンスの問題の原因を判断します。ツールの実行中に、進行状況バーの上にポインターを合わせるとポップアップ ウィンドウが表示され、ツールに関する詳細な情報 (分析ツールのメッセージなど) が表示されます。[詳細の表示] をクリックして、同じ詳細を切り離されたウィンドウで表示するか、[履歴を開く] をクリックして、プロジェクトのジオプロセシング履歴を開くこともできます。ツールの実行が終了すると、そのツールのステータスを示すアイコンとメッセージが進行状況バーに表示されます。ジオプロセシング ツールでのメッセージ表示の詳細については、「ジオプロセシング ツールの実行」をご参照ください。

  • *.sddraft ファイルの解析中に、エラーと警告の 2 種類のメッセージが表示されることがあります。分析ツールのエラーは、サービス定義ファイルを作成する前に対処する必要があります。分析ツールの警告は、パフォーマンス、描画、またはデータ アクセスに関連する問題を特定しますが、サービス定義のドラフト ファイルをサービス定義ファイルに変換できます。分析ツールの各メッセージには、関連するヘルプ トピックがあります。これらの問題の解決の詳細については、「GIS リソースの分析」をご参照ください。

  • サービス定義のドラフトを作成するには、arcpy.sharing モジュール、または CreateGeocodeSDDraftCreateGPSDDraft/CreateImageSDDraft ArcPy 関数を使用します。

構文

arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
パラメーター説明データ タイプ
in_service_definition_draft

入力ドラフト サービス定義。サービス定義のドラフトを作成するには、arcpy.sharing モジュール、または CreateGeocodeSDDraftCreateGPSDDraft/CreateImageSDDraft ArcPy 関数を使用します。

File
out_service_definition

結果のサービス定義。デフォルトでは、サービス定義はドラフト サービス定義と同じディレクトリに書き込まれます。

File
staging_version
(オプション)

サービス定義を公開するときのサービスのバージョン。

フィーチャ、タイル、または画像レイヤーを ArcGIS Enterprise で共有するときは、[5] を使用します。マップ イメージ レイヤーまたは Web ツールを ArcGIS Enterprise で共有し、任意のレイヤー タイプを ArcGIS Online で共有するときは、[102] を使用します。これがデフォルトです。

Long

コードのサンプル

StageService (サービスのステージング) の例 1 (スタンドアロン スクリプト)

次に示すスクリプトは、Web タイル レイヤーとしてレイヤーのリストをマップから ArcGIS Enterprise または ArcGIS Online に公開します。ポータル情報は、ArcGIS Pro[ポータル] ページから取得されます。

import arcpy
import os

# Set output file names
outdir = r"C:\Project\Output"
service = "TileSharingDraftExample"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)

# Reference map to publish
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps("World")[0]
lyrs = []
lyrs.append(m.listLayers('cities')[0])
lyrs.append(m.listLayers('counties')[0])

# Create TileSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "TILE", service, lyrs)
sharing_draft.summary = "My Summary"
sharing_draft.tags = "My Tags"
sharing_draft.description = "My Description"
sharing_draft.credits = "My Credits"
sharing_draft.useLimitations = "My Use Limitations"

# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)

# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
arcpy.StageService_server(sddraft_output_filename, sd_output_filename)

# Share to portal
print("Uploading Service Definition...")
arcpy.UploadServiceDefinition_server(sd_output_filename, "My Hosted Services")

print("Successfully Uploaded service.")
StageService (サービスのステージング) の例 2 (スタンドアロン スクリプト)

次のスクリプトは既存のサービス定義のドラフトをステージングして、分析ツールの警告とエラーを表示します。

import arcpy
try:
    arcpy.StageService_server(r"C:\Data\World.sddraft", r"C:\Data\World.sd")
    warnings = arcpy.GetMessages(1)
    print(warnings)
except Exception as stage_exception:
    print("Sddraft not staged. Analyzer errors encountered - {}".format(str(stage_exception)))

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック