Beschriftung | Erläuterung | Datentyp |
Service-Definitionsentwurf | Die Eingabe-Service-Definitionsentwurf. Service-Definitionsentwürfe können mit dem Modul arcpy.sharing oder mit den CreateGeocodeSDDraft-Funktionen CreateGPSDDraft bzw. ArcPy erstellt werden. | File |
Service-Definition | Die resultierende Service-Definition. Standardmäßig wird die Service-Definition in dasselbe Verzeichnis wie der Service-Definitionsentwurf geschrieben. | File |
Bereitgestellte Version (optional) | Die Version der veröffentlichten Service-Definition. Verwenden Sie beim Freigeben eines Features, einer Kachel oder eines Bilddaten-Layers in ArcGIS Enterprise den Wert 5. Verwenden Sie beim Freigeben eines Kartenbild-Layers oder Web-Werkzeugs in ArcGIS Enterprise und eines beliebigen Layer-Typs in ArcGIS Online den Wert 102. Dies ist die Standardeinstellung. Verwenden Sie beim Freigeben eines Web-Werkzeugs oder Geoverarbeitungsservice in ArcGIS Enterprise oder ArcGIS Server mithilfe der GeoprocessingSharingDraft- oder CreateGPSDDraft-Funktion den der Versionsnummer entsprechenden Wert aus der folgenden Liste:
| Long |
Zusammenfassung
Stellt eine Service-Definition bereit. Eine bereitgestellte Service-Definitionsdatei (.sd) enthält alle Informationen, die zum Freigeben eines Web-Layers, Locators, Web-Werkzeugs oder Web-Service erforderlich sind.
Verwendung
Mit diesem Werkzeug wird eine Entwurfsdatei einer Service-Definition (.sddraft) in eine Service-Definition konvertiert, die in das Werkzeug Service-Definition hochladen eingegeben werden kann, um einen Web-Layer, einen Locator, ein Web-Werkzeug oder einen Web-Service auf ArcGIS Online, ArcGIS Enterprise oder ArcGIS Server hochzuladen und dort zu veröffentlichen. Service-Definitionsentwürfe können nicht dazu verwendet werden, einen Web-Layer, einen Locator, ein Web-Werkzeug oder einen Web-Service direkt zu veröffentlichen.
Dieses Werkzeug analysiert .sddraft-Dateien, um deren Eignung zu bestimmen und die Ursachen potenzieller Performance-Probleme zu ermitteln, bevor eine .sddraft-Datei in eine .sd-Datei konvertiert wird. Während der Ausführung des Werkzeugs können Sie auf den Fortschrittsbalken zeigen, um ein Pop-up-Fenster mit ausführlichen Informationen zu dem Werkzeug anzuzeigen, z. B. Analyzer-Meldungen. Sie können auch auf Details anzeigen klicken, um dieselben Informationen in einem getrennten Fenster anzuzeigen, oder klicken Sie auf Verlauf öffnen, um den Geoverarbeitungsverlauf des Projekts anzuzeigen. Wenn die Ausführung des Werkzeugs beendet wurde, werden in der Fortschrittsleiste ein Symbol und eine Meldung zum Status des Werkzeugs angezeigt. Weitere Informationen zum Anzeigen von Meldungen in Geoverarbeitungswerkzeugen finden Sie in den Themen zum Verwenden eines Geoverarbeitungswerkzeugs.
Bei der Analyse einer .sddraft-Datei können zwei Meldungstypen angezeigt werden: Fehler und Warnungen. Analyzer-Fehler müssen behoben werden, bevor Sie eine .sd-Datei erstellen können. In Analyzer-Warnungen werden Probleme im Zusammenhang mit der Performance, der Darstellung und dem Datenzugriff aufgeführt. Sie können die .sddraft-Datei aber dennoch in eine .sd-Datei konvertieren. Zu jeder Analyzer-Meldung gibt es ein entsprechendes Hilfethema. Weitere Informationen zum Beheben dieser Probleme finden Sie unter Analysieren der GIS-Ressource.
Service-Definitionsentwürfe können mit dem Modul arcpy.sharing oder mit den CreateGeocodeSDDraft-Funktionen CreateGPSDDraft bzw. ArcPy erstellt werden.
Parameter
arcpy.management.StageService(in_service_definition_draft, out_service_definition, {staging_version})
Name | Erläuterung | Datentyp |
in_service_definition_draft | Die Eingabe-Service-Definitionsentwurf. Service-Definitionsentwürfe können mit dem Modul arcpy.sharing oder mit den CreateGeocodeSDDraft-Funktionen CreateGPSDDraft bzw. ArcPy erstellt werden. | File |
out_service_definition | Die resultierende Service-Definition. Standardmäßig wird die Service-Definition in dasselbe Verzeichnis wie der Service-Definitionsentwurf geschrieben. | File |
staging_version (optional) | Die Version der veröffentlichten Service-Definition. Verwenden Sie beim Freigeben eines Features, einer Kachel oder eines Bilddaten-Layers in ArcGIS Enterprise den Wert 5. Verwenden Sie beim Freigeben eines Kartenbild-Layers oder Web-Werkzeugs in ArcGIS Enterprise und eines beliebigen Layer-Typs in ArcGIS Online den Wert 102. Dies ist die Standardeinstellung. Verwenden Sie beim Freigeben eines Web-Werkzeugs oder Geoverarbeitungsservice in ArcGIS Enterprise oder ArcGIS Server mithilfe der GeoprocessingSharingDraft- oder CreateGPSDDraft-Funktion den der Versionsnummer entsprechenden Wert aus der folgenden Liste:
| Long |
Codebeispiel
Mit dem folgenden Skript wird eine Liste von Karten-Layern als Web-Kachel-Layer in ArcGIS Enterprise oder ArcGIS Online veröffentlicht. Portal-Informationen sind auf der Seite Portale in ArcGIS AllSource verfügbar.
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.")
Im folgenden Skript wird ein vorhandener Service-Definitionsentwurf bereitgestellt, und es werden Analyzer-Warnungen und -Fehler angezeigt.
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)))