Service-Definition hochladen (Server)

Zusammenfassung

Lädt einen Web-Layer, ein Web-Werkzeug oder einen Web-Service in ArcGIS Online, ArcGIS Enterprise oder ArcGIS Server hoch und gibt das Element dort frei.

Verwendung

  • Dieses Werkzeug lädt einen Web-Layer, ein Web-Werkzeug oder einen Web-Service basierend auf der Eingabe-Service-Definition hoch und gibt das Element frei. Wenn Sie einen Web-Layer, ein Web-Werkzeug oder einen Web-Service mit ArcGIS Pro freigeben, wird dieses Werkzeug ausgeführt und ein Eintrag im Element Geoverarbeitungsverlauf des Bereichs Katalog angezeigt.

  • Mit diesem Werkzeug werden Service-Definitionsentwurfsdateien (.sddraft) weder hochgeladen noch freigegeben. Wenn Sie einen Service-Definitionsentwurf haben, können Sie ihn mithilfe des Werkzeugs Service bereitstellen in eine bereitgestellte Service-Definition konvertieren.

  • Web-Werkzeuge können nur in ArcGIS Enterprise freigegeben werden. Geoverarbeitungswerkzeuge können nur in ArcGIS Server freigegeben werden.

Syntax

arcpy.server.UploadServiceDefinition(in_sd_file, in_server, {in_service_name}, {in_cluster}, {in_folder_type}, {in_folder}, {in_startupType}, {in_override}, {in_my_contents}, {in_public}, {in_organization}, {in_groups})
ParameterErklärungDatentyp
in_sd_file

Die Service-Definitionsdatei (.sd) enthält alle Informationen, die zum Freigeben eines Web-Layers, Web-Werkzeugs oder Web-Service erforderlich sind.

File
in_server

Eine Zeichenfolge, die den Servertyp darstellt. Die folgenden Servertypen werden unterstützt:

  • Eigene gehostete Services: Verwenden Sie diese Option zum Freigeben eines gehosteten Web-Layers in ArcGIS Online oder ArcGIS Enterprise. Geben Sie Eigene gehostete Services für die Serververbindung ein. Schreiben Sie den ersten Buchstaben jedes Wortes groß, und verwenden Sie Leerzeichen zwischen den Wörtern.
  • HOSTING_SERVER: Verwenden Sie diese Option zum Freigeben eines gehosteten Web-Layers in ArcGIS Online oder ArcGIS Enterprise.
  • Die URL zum Verbundserver des ArcGIS Enterprise-Portals: Verwenden Sie diese Option zum Freigeben eines Web-Werkzeugs oder Kartenbild-Layers auf einem ArcGIS Enterprise-Portal-Verbundserver.
  • Eine ArcGIS Server-Verbindung: Verwenden Sie diese Option zum Freigeben eines Karten- oder Geoverarbeitungsservice in ArcGIS Server. Sie können ArcGIS Server-Verbindungen verwenden, die unter dem Knoten Server im Fenster Projekt aufgelistet sind, oder Sie können zu einem Ordner navigieren, in dem Server-Verbindungsdateien gespeichert sind.
  • Eine URL zu ArcGIS Server: Verwenden Sie diese Option zum Freigeben eines Karten- oder Geoverarbeitungsservice in ArcGIS Server. Sie können die URL zu ArcGIS Server angeben, sofern dem ArcGIS Pro-Projekt eine Publisher-Verbindung zu ArcGIS Server hinzugefügt wurde und Sie das Projekt im Skript öffnen oder das Werkzeug in ArcGIS Pro ausführen.

ServerConnection
in_service_name
(optional)

Verwenden Sie diese Option, um den Service-Namen, der aktuell in der Service-Definition angegeben ist, mit einem neuen Namen zu überschreiben.

String
in_cluster
(optional)

Verwenden Sie diese Option, wenn Sie den Cluster ändern möchten, dem der Service zugewiesen wurde. Sie müssen aus den Clustern auswählen, die auf dem angegebenen Server verfügbar sind.

Ältere Versionen:

Cluster werden in ArcGIS Enterprise 10.5.1 nicht mehr unterstützt. Für Server, die keine Unterstützung für mehrere Cluster bieten, wird dieser Parameter ignoriert.

String
in_folder_type
(optional)

Gibt an, welcher Ordnertyp verwendet wird, um die Quelle des Ordners zu bestimmen. Standardmäßig wird ein Ordner aus der Service-Definition abgerufen. Sie können auch eine Liste der Ordner abrufen, die auf dem angegebenen Online-Server bereits vorhanden sind, oder Sie können einen neuen Ordner angeben, der beim Freigeben dieses Web-Layers oder -Service erstellt wird.

  • NEWErstellen Sie einen neuen Ordner.
  • EXISTINGGeben Sie einen Ordner an, der auf dem Server vorhanden ist.
  • FROM_SERVICE_DEFINITIONGeben Sie den Ordner in der Service-Definition an. Dies ist die Standardeinstellung.
String
in_folder
(optional)

Verwenden Sie diese Option, um den Ordner für den Web-Layer oder -Service anzugeben. Standardmäßig wird der Ordner verwendet, der in der Service-Definition angegeben wurde. Wenn Sie NEW für in_folder_type angegeben haben, verwenden Sie diesen Parameter zum Eingeben eines neuen Ordnernamens. Wenn Sie EXISTING für in_folder_type angegeben haben, können Sie aus den vorhandenen Ordnern auf dem Server auswählen.

String
in_startupType
(optional)

Geben Sie mit dieser Option den Start- oder Stopp-Status des Service sofort nach dem Veröffentlichen an.

  • STARTEDDer Service wird sofort nach dem Freigeben gestartet.
  • STOPPEDDer Service wird nach dem Freigeben nicht gestartet. Der Service wird manuell gestartet.
Boolean
in_override
(optional)

Verwenden Sie diesen Parameter, um die Freigabeeigenschaften, die in der Service-Definition festgelegt wurden, zu überschreiben. Mit diesen Eigenschaften wird definiert, ob und wie der Web-Layer oder das Web-Werkzeug mit ArcGIS Online oder ArcGIS Enterprise freigegeben wird. Wenn Sie den Web-Layer oder das Web-Werkzeug in ArcGIS Online freigeben, steht er anderen Anwendern für die Verwendung zur Verfügung.

  • OVERRIDE_DEFINITIONÜberschreiben Sie die in der Service-Definition festgelegten Freigabeeigenschaften mit neuen Werten.
  • USE_DEFINITIONDie aktuell in der Service-Definition festgelegten Freigabeeigenschaften werden verwendet, wenn der Web-Layer oder das Web-Werkzeug freigegeben wird. Dies ist die Standardeinstellung.

Um die Freigabeeigenschaften zu überschreiben, müssen Sie bei ArcGIS Online oder ArcGIS Enterprise angemeldet sein.

Dieser Parameter wird beim Freigeben in ArcGIS Server nicht berücksichtigt.

Boolean
in_my_contents
(optional)

Legt fest, wie Web-Layer oder Web-Werkzeuge freigegeben werden sollen. Alle freigegebenen Web-Layer oder Web-Werkzeuge sind über Eigene Inhalte verfügbar. Auch wenn Sie den Web-Layer oder das Web-Werkzeug nur für eine bestimmte Gruppe in Ihrer Organisation freigeben möchten, wird er bzw. es ebenfalls über Eigene Inhalte freigegeben.

  • SHARE_ONLINEDer Web-Layer bzw. das Web-Werkzeug wird auf ArcGIS Online oder ArcGIS Enterprise freigegeben. Der Web-Layer oder das Web-Werkzeug wird unter Eigene Inhalte aufgelistet.
  • NO_SHARE_ONLINEDer Web-Layer bzw. das Web-Werkzeug wird nicht auf ArcGIS Online oder ArcGIS Enterprise freigegeben und andere ArcGIS Online- oder ArcGIS Enterprise-Benutzer und -Clients im Web können nicht auf das Element zugreifen.

Um die Freigabeeigenschaften zu überschreiben, müssen Sie bei einem Portal angemeldet sein.

Dieser Parameter wird beim Freigeben in ArcGIS Server nicht berücksichtigt.

Boolean
in_public
(optional)

Gibt an, ob der Web-Layer oder das Web-Werkzeug öffentlich verfügbar sein soll.

  • PUBLICDer Web-Layer oder das Web-Werkzeug wird öffentlich freigegeben.
  • PRIVATEDer Web-Layer oder das Web-Werkzeug wird nicht öffentlich freigegeben.

Um die Freigabeeigenschaften zu überschreiben, müssen Sie bei ArcGIS Online oder ArcGIS Enterprise angemeldet sein.

Dieser Parameter wird beim Freigeben in ArcGIS Server nicht berücksichtigt.

Boolean
in_organization
(optional)

Gibt an, ob der Web-Layer oder das Web-Werkzeug für die eigene Organisation freigegeben werden soll.

  • SHARE_ORGANIZATIONDer Web-Layer oder das Web-Werkzeug wird für die eigene Organisation freigegeben.
  • NO_SHARE_ORGANIZATIONDer Web-Layer oder das Web-Werkzeug wird nicht für die eigene Organisation freigegeben.

Um die Freigabeeigenschaften zu überschreiben, müssen Sie bei ArcGIS Online oder ArcGIS Enterprise angemeldet sein.

Dieser Parameter wird beim Freigeben in ArcGIS Server nicht berücksichtigt.

Boolean
in_groups
[group_name,...]
(optional)

Eine Liste mit Gruppennamen, für die der Web-Layer oder das Web-Werkzeug freigegeben werden soll.

Um die Freigabeeigenschaften zu überschreiben, müssen Sie bei ArcGIS Online oder ArcGIS Enterprise angemeldet sein.

Dieser Parameter wird beim Freigeben in ArcGIS Server nicht berücksichtigt.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_soap_svc_url

Die SOAP-URL eines auf dem Server veröffentlichten Service.

Zeichenfolge
out_rest_svc_url

Die REST-URL eines auf dem Server veröffentlichten Service.

Zeichenfolge
out_mapServiceItemID

Die Element-ID des im Portal freigegebenen Kartenbild-Layers.

Zeichenfolge
out_featServiceItemID

Die Element-ID des im Portal freigegebenen gehosteten Feature-Service-Layers.

Zeichenfolge
out_cached_service

Ein Image-Service oder ein Kartenservice mit aktiviertem Caching.

Image-Service; MapServer
out_featureServiceURL

Die REST-URL des im Portal freigegebenen gehosteten Feature-Layers.

Zeichenfolge
out_mapServiceURL

Die REST-URL des im Portal freigegebenen Kartenbild-Layers.

Zeichenfolge
out_LayerIDMap

Die veröffentlichten Layer und die entsprechenden IDs im Format Layer1|ID1;Layer2|ID2; usw.

Zeichenfolge
out_standaloneTableIDMap

Die veröffentlichten Standalone-Tabellen und die entsprechenden IDs im Format Tabelle1|ID1;Tabelle2|ID2; usw.

Zeichenfolge
out_vectorTileServiceID

Die Element-ID des Vektorkachelservice.

Zeichenfolge
out_vectorTileServiceURL

Die REST-URL des Vektorkachelservice.

Zeichenfolge

Codebeispiel

UploadServiceDefinition – 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.")
UploadServiceDefinition – Beispiel 2 (eigenständiges Skript)

Das folgende Skript lädt eine vorhandene Service-Definition hoch und verwendet optionale Parameter zum Ändern von Service-Eigenschaften.

import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
inSdFile = "myMapService.sd"
inServer = "myServerConnection.ags"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "NEW"
inFolder = "newFolder"
inStartup = "STOPPED"
# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName, 
                                     inCluster, inFolderType, inFolder, 
                                     inStartup)
UploadServiceDefinition – Beispiel 3 (eigenständiges Skript)

Das folgende Skript lädt eine vorhandene Service-Definition entweder in ArcGIS Online oder ArcGIS Enterprise hoch und verwendet optionale Parameter zum Ändern von Service-Eigenschaften.

import arcpy
# Set environment settings arcpy.env.workspace = "C:/data"
# Set local variables inSdFile = "myMapService.sd"
inServer = "HOSTING_SERVER"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "EXISTING"
inFolder = "existingFolder"
inStartup = "STOPPED"
inOverride = "OVERRIDE_DEFINITION"
inMyContents = "SHARE_ONLINE"
inPublic = "PRIVATE"
inOrganization = "NO_SHARE_ORGANIZATION"
inGroups = ["My Group", "MyGroup 2"]
# Execute UploadServiceDefinition arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName,                                      inCluster, inFolderType, inFolder, 
                                     inStartup, inOverride, inMyContents,                                      inPublic, inOrganization, inGroups)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

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

Verwandte Themen