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

サマリー

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

使用法

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

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

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

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

パラメーター

ラベル説明データ タイプ
サービス定義ドラフト

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

File
サービス定義

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

File
ステージング バージョン
(オプション)

公開したサービス定義のバージョン。

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

Long

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: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック