Service bereitstellen (Server)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Stellt eine Service-Definition bereit. Eine bereitgestellte Service-Definitionsdatei (.sd) enthält alle erforderlichen Informationen, um einen GIS-Service zu veröffentlichen, einschließlich Daten, die auf den Server kopiert werden müssen, da sie nicht im Datenspeicher des Servers vorhanden sind.

Verwendung

Syntax

StageService_server (in_service_definition_draft, out_service_definition)
ParameterErläuterungDatentyp
in_service_definition_draft

Geben Sie den Service-Definitionsentwurf ein. Service-Definitionsentwürfe können unter Verwendung von ArcGIS for Desktop erstellt werden. Weitere Informationen finden Sie im Hilfethema Service-Entwürfe. Sie können auch die arcpy.mapping -Funktion CreateMapSDDraft verwenden, um Entwürfe von Service-Definitionen zu erstellen.

Nach der Bereitstellung wird der eingegebene Service-Definitionsentwurf gelöscht.

File
out_service_definition

Ergebnis der Service-Definition. Standardmäßig wird die Service-Definition in dasselbe Verzeichnis wie der Service-Definitionsentwurf geschrieben.

File

Codebeispiel

StageService – Beispiel (Python-Fenster)

Stellt eine Service-Definition bereit.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.StageService_server("myMapService.sddraft", "myMapService.sd")
Veröffentlichungs-Workflow - Beispiel (eigenständiges Skript)

Das folgende Skript veranschaulicht den Workflow beim Veröffentlichen mithilfe von Service bereitstellen und Service-Definition hochladen.

# 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)
Überschreiben von Services - Beispiel (eigenständiges Skript)

Das folgende Skript erstellt und lädt eine Service-Definition hoch, die verwendet werden kann, um einen vorhandenen Service zu überschreiben.

# 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)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
9/11/2013