概要
サービス定義をステージングします。ステージングされたサービス定義 (*.sd) ファイルには、GIS サービスの公開に必要なすべての情報が含まれます。サーバーのデータ ストアに存在しないため、サーバーにコピーする必要があるデータも含まれます。
使用法
このツールは、サービス定義のドラフト (*.sddraft) をサービス定義に変換します。その後、このサービス定義を [サービス定義のアップロード (Upload Service Definition)] ツールに入力し、GIS サービスをサーバーにアップロードして公開することができます。ドラフト サービス定義を直接使用して、GIS サービスを公開することはできません。
ArcGIS Desktop を使用してサービスを共有する場合は、常に [サービスのステージング (Stage Service)] ツールを実行し、ジオプロセシングの [結果] ウィンドウで結果を確認します。
サービス定義ドラフトは、ArcGIS Desktop を使用するか、ArcPy 関数 CreateMapSDDraft (arcpy.mapping 内)、CreateImageSDDraft、または CreateGPSDDraft を使用して作成できます。
ステージングが完了すると、入力に使用したサービス定義ドラフトは削除されます。
構文
arcpy.server.StageService(in_service_definition_draft, out_service_definition)
パラメーター | 説明 | データ タイプ |
in_service_definition_draft | 入力ドラフト サービス定義。サービス定義のドラフトは ArcGIS Desktop を使用して作成できます。詳細については、「ドラフト サービスについて」をご参照ください。arcpy.mapping 関数の CreateMapSDDraft を使用して、ドラフト サービス定義を作成することもできます。 ステージングが完了すると、入力に使用したドラフト サービス定義は削除されます。 | File |
out_service_definition | 結果のサービス定義。デフォルトでは、サービス定義はドラフト サービス定義と同じディレクトリに書き込まれます。 | File |
コードのサンプル
StageService (サービスのステージング) の例 1 (Python ウィンドウ)
サービス定義をステージングします。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.StageService_server("myMapService.sddraft", "myMapService.sd")
公開ワークフローの例 2 (スタンドアロン スクリプト)
次のスクリプトは、[サービスのステージング (Stage Service)] と [サービス定義のアップロード (Upload Service Definition)] を使用した公開ワークフローを示しています。
# Name: StageService_UploadServiceDefinition_example2.py
# Description: Use a service definition draft to create a service definition
# and then upload and publish that service definition.
# Requirements: Connection to an ArcGIS Server or My Hosted Services
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)
# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)
サービスの上書きの例 3 (スタンドアロン スクリプト)
次のスクリプトは、既存サービスの上書きに使用できるサービス定義を作成してアップロードします。
# Name: StageService_example3_UploadServiceDefinition_example4.py
# Description: Creates a service definition that can be used to overwrite an
# existing service. When this service definition is published it
# will overwrite the existing service.
# Requirements: Connection to an ArcGIS Server, Spatial Data Server,
# or My Hosted Services
# Import system modules
import arcpy
import xml.dom.minidom as DOM
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
newType = 'esriServiceDefinitionType_Replacement'
xml = os.path.join(arcpy.env.workspace, inServiceDefinitionDraft)
doc = DOM.parse(xml)
descriptions = doc.getElementsByTagName('Type')
for desc in descriptions:
if desc.parentNode.tagName == 'SVCManifest':
if desc.hasChildNodes():
desc.firstChild.data = newType
outXml = xml
f = open(outXml, 'w')
doc.writexml( f )
f.close()
# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)
# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい