Service bereitstellen (Server)

Zusammenfassung

Stellt eine Service-Definition bereit. Eine bereitgestellte Service-Definitionsdatei (.sd) enthält alle Informationen, die zum Freigeben eines Web-Layers, Web-Werkzeugs oder Web-Service erforderlich sind.

Verwendung

  • Mit diesem Werkzeug wird eine Entwurfsdatei einer Service-Definition (.sddraft) in eine Service-Definition konvertiert, die dann in das Werkzeug Service-Definition hochladen eingegeben werden kann, um einen Web-Layer, 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, ein Web-Werkzeug oder einen Web-Service direkt zu veröffentlichen.

  • Wenn Sie einen Web-Layer, ein Web-Werkzeug oder einen Web-Service mit ArcGIS Pro freigeben, wird das Werkzeug Service bereitstellen ausgeführt und ein Eintrag im Element Geoverarbeitungsverlauf des Bereichs Katalog angezeigt.

  • Dieses Werkzeug analysiert .sddraft-Dateien, um deren Eignung zu bestimmen und die Ursachen potenzieller Performance-Probleme zu ermitteln, bevor eine Service-Definitionsentwurfsdatei in eine Service-Definitionsdatei (.sd) 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 ausführlichen 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 Ausführen 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 Service-Definitionsdatei erstellen können. In Analyzer-Warnungen werden Probleme im Zusammenhang mit der Performance, der Darstellung und dem Datenzugriff identifiziert. Sie können die Service-Definitionsentwurfsdatei aber dennoch in eine Service-Definitionsdatei 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 den ArcPy-Funktionen CreateGeocodeSDDraft, CreateGPSDDraft, bzw. CreateImageSDDraft erstellt werden.

Syntax

arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
ParameterErklärungDatentyp
in_service_definition_draft

Die Eingabe-Service-Definitionsentwurf. Service-Definitionsentwürfe können mit dem Modul arcpy.sharing oder den ArcPy-Funktionen CreateGeocodeSDDraft, CreateGPSDDraft, bzw. CreateImageSDDraft 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 Service-Version, mit der die Service-Definition veröffentlicht wird.

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.

Long

Codebeispiel

StageService – Beispiel 1 (eigenständiges Skript)

Mit dem folgenden Skript wird eine Liste von Layern einer Karte als Web-Kachel-Layer in ArcGIS Enterprise oder ArcGIS Online veröffentlicht. Portal-Informationen sind auf der Seite Portale in ArcGIS Pro 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.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 – Beispiel 2 (eigenständiges Skript)

Im folgenden Skript wird ein vorhandener Service-Definitionsentwurf bereitgestellt, und es werden Analyzer-Warnungen und -Fehler angezeigt.

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

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen