ラベル | 説明 | データ タイプ |
サービス定義ドラフト | 入力ドラフト サービス定義。 サービス定義のドラフトを作成するには、arcpy.sharing モジュールか、CreateGeocodeSDDraft または CreateGPSDDraft ArcPy 関数を使用します。 | File |
サービス定義 | 結果のサービス定義。 デフォルトでは、サービス定義はドラフト サービス定義と同じディレクトリに書き込まれます。 | File |
ステージング バージョン (オプション) | 公開したサービス定義のバージョン。 フィーチャ、タイル、または画像レイヤーを ArcGIS Enterprise で共有するときは、値として [5] を使用します。 マップ イメージ レイヤーまたは Web ツールを ArcGIS Enterprise で共有し、任意のレイヤー タイプを ArcGIS Online で共有するときは、値として 102 を使用します。 これがデフォルトです。 ArcGIS Enterprise 関数または ArcGIS Server 関数を使用して GeoprocessingSharingDraft または CreateGPSDDraft で Web ツールまたはジオプロセシング サービスを共有する場合は、次のリストのバージョン番号に対応する値を使用します。
| Long |
サマリー
サービス定義をステージングします。 ステージングされたサービス定義ファイル (.sd) には、Web レイヤー、ロケーター、Web ツール、またはサービスの共有に必要なすべての情報が含まれています。
使用法
このツールは、サービス定義のドラフト ファイル (.sddraft) をサービス定義に変換します。その後、このサービス定義を [サービス定義のアップロード (Upload Service Definition)] ツールに入力し、Web レイヤー、ロケーター、Web ツール、またはサービスを ArcGIS Online、ArcGIS Enterprise、または ArcGIS Server にアップロードして公開することができます。 ドラフト サービス定義を使用して Web レイヤー、ロケーター、Web ツール、またはサービスを直接公開することはできません。
このツールは、.sddraft ファイルを解析して、.sddraft ファイルを .sd ファイルに変換する前に、適合性と潜在的なパフォーマンスの問題の原因を判断します。 ツールの実行中に、進行状況バーの上にポインターを合わせるとポップアップ ウィンドウが表示され、ツールに関する詳細な情報 (分析ツールのメッセージなど) が表示されます。 [詳細の表示] をクリックして、同じ情報を切り離されたウィンドウで表示するか、[履歴を開く] をクリックして、プロジェクトのジオプロセシング履歴を開くこともできます。 ツールの実行が終了すると、そのツールのステータスを示すアイコンとメッセージが進行状況バーに表示されます。 ジオプロセシング ツールでのメッセージ表示の詳細については、「ジオプロセシング ツールの使用」をご参照ください。
.sddraft ファイルの解析中に、エラーと警告の 2 種類のメッセージが表示されることがあります。 分析ツールのエラーは、.sd ファイルを作成する前に対処する必要があります。 分析ツールの警告は、パフォーマンス、描画、またはデータ アクセスに関連する問題を特定しますが、.sddraft ファイルを .sd ファイルに変換できます。 分析ツールの各メッセージには、関連するヘルプ トピックがあります。 これらの問題の解決の詳細については、「GIS リソースの分析」をご参照ください。
サービス定義のドラフトを作成するには、arcpy.sharing モジュールか、CreateGeocodeSDDraft または CreateGPSDDraft ArcPy 関数を使用します。
パラメーター
arcpy.management.StageService(in_service_definition_draft, out_service_definition, {staging_version})
名前 | 説明 | データ タイプ |
in_service_definition_draft | 入力ドラフト サービス定義。 サービス定義のドラフトを作成するには、arcpy.sharing モジュールか、CreateGeocodeSDDraft または CreateGPSDDraft ArcPy 関数を使用します。 | File |
out_service_definition | 結果のサービス定義。 デフォルトでは、サービス定義はドラフト サービス定義と同じディレクトリに書き込まれます。 | File |
staging_version (オプション) | 公開したサービス定義のバージョン。 フィーチャ、タイル、または画像レイヤーを ArcGIS Enterprise で共有するときは、値として [5] を使用します。 マップ イメージ レイヤーまたは Web ツールを ArcGIS Enterprise で共有し、任意のレイヤー タイプを ArcGIS Online で共有するときは、値として 102 を使用します。 これがデフォルトです。 ArcGIS Enterprise 関数または ArcGIS Server 関数を使用して GeoprocessingSharingDraft または CreateGPSDDraft で Web ツールまたはジオプロセシング サービスを共有する場合は、次のリストのバージョン番号に対応する値を使用します。
| Long |
コードのサンプル
次に示すスクリプトは、Web タイル レイヤーとしてレイヤーのリストをマップから ArcGIS Enterprise または ArcGIS Online に公開します。 ポータル情報は、ArcGIS AllSource のポータルページから取得されます。
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.server.StageService(sddraft_output_filename, sd_output_filename)
# Share to portal
print("Uploading Service Definition...")
arcpy.server.UploadServiceDefinition(sd_output_filename, "My Hosted Services")
print("Successfully Uploaded service.")
次のスクリプトは既存のサービス定義のドラフトをステージングして、分析ツールの警告とエラーを表示します。
import arcpy
try:
arcpy.server.StageService(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)))