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

ライセンス レベル:BasicStandardAdvanced

サマリ

サービス定義をステージングします。ステージングされたサービス定義(*.sd)ファイルには、GIS サービスの公開に必要なすべての情報が含まれます。サーバのデータ ストアに存在しないため、サーバにコピーする必要があるデータも含まれます。

使用法

構文

StageService_server (in_service_definition_draft, out_service_definition)
パラメータ説明データ タイプ
in_service_definition_draft

入力ドラフト サービス定義。サービス定義のドラフトは ArcGIS for Desktop を使用して作成できます。詳細については、「ドラフト サービスについて」をご参照ください。arcpy.mapping 関数の CreateMapSDDraft を使用して、ドラフト サービス定義を作成することもできます。

ステージングが完了すると、入力に使用したドラフト サービス定義は削除されます。

File
out_service_definition

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

File

コードのサンプル

サービスのステージング(Stage Service)の例(Python ウィンドウ)

サービス定義をステージングします。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.StageService_server("myMapService.sddraft", "myMapService.sd")
公開ワークフローの例(スタンドアロン スクリプト)

次のスクリプトは、[サービスのステージング(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, Spatial Data 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)
サービスの上書きの例(スタンドアロン スクリプト)

次のスクリプトは、既存サービスの上書きに使用できるサービス定義を作成してアップロードします。

# 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
from arcpy import env
import xml.dom.minidom as DOM 

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
newType = 'esriServiceDefinitionType_Replacement'

xml = draftPath + in_sd_draft
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)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
9/14/2013