Résumé
Télécharge et partage une couche web, un outil web ou un service sur ArcGIS Online, ArcGIS Enterprise ou ArcGIS Server.
Utilisation
Cet outil télécharge et partage une couche web, un outil web ou un service en fonction de la définition de service en entrée. Lorsque vous partagez une couche web ou un service avec ArcGIS Pro, cet outil est exécuté et une entrée apparaît dans l’élément Geoprocessing History (Historique de géotraitement) de la fenêtre Catalog (Catalogue).
Cet outil ne télécharge et ne partage aucun fichier préliminaire de définition de service (.sddraft). Si vous disposez d’un brouillon de définition de service, vous pouvez le convertir en définition de service organisée à l’aide de l’outil Stage Service (Organiser le service).
Les outils web peuvent être partagés uniquement sur ArcGIS Enterprise. Les outils de géotraitement peuvent être partagés uniquement sur ArcGIS Server.
Syntaxe
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})
Paramètre | Explication | Type de données |
in_sd_file | Fichier de définition de service (.sd) qui contient toutes les informations nécessaires au partage d’une couche web, d’un outil web ou d’un service. | File |
in_server | Chaîne représentant le type de serveur. Les types de serveur suivants sont pris en charge :
| ServerConnection |
in_service_name (Facultatif) | Utilisez cette option pour remplacer le nom du service actuellement spécifié dans la définition de service par un autre nom. | String |
in_cluster (Facultatif) | Utilisez cette option si vous souhaitez modifier l'agrégat auquel le service a été attribué. Vous devez choisir parmi les agrégats disponibles sur le serveur spécifié. Héritage :Les agrégats sont obsolètes à partir de ArcGIS Enterprise 10.5.1. Ce paramètre sera ignoré pour les serveurs qui ne prennent pas en charge plusieurs agrégats. | String |
in_folder_type (Facultatif) | Spécifie le type de dossier permettant de déterminer la source du dossier. Par défaut, le dossier provient de la définition de service. Vous pouvez également choisir d’obtenir la liste des dossiers présents sur le serveur en ligne spécifié, ou vous pouvez indiquer un dossier à créer une fois cette couche web ou ce service partagé.
| String |
in_folder (Facultatif) | Utilisez cette option pour spécifier le dossier de la couche web ou du service. Le dossier spécifié dans la définition de service est utilisé par défaut. Si vous avez spécifié NEW pour in_folder_type, utilisez ce paramètre pour saisir un nouveau nom de dossier. Si vous avez spécifié EXISTING pour in_folder_type, vous pouvez choisir un dossier parmi ceux qui figurent sur le serveur. | String |
in_startupType (Facultatif) | Utilisez cette option pour indiquer si le service est démarré ou à l’arrêt immédiatement après la publication.
| Boolean |
in_override (Facultatif) | Utilisez ce paramètre pour ignorer les propriétés de partage définies dans la définition de service. Ces propriétés déterminent si (et comment) vous partagez votre couche web ou votre outil web avec ArcGIS Online ou ArcGIS Enterprise. Le fait de partager votre couche web ou outil web permet à d’autres de les utiliser.
Vous devez être connecté à ArcGIS Online ou à ArcGIS Enterprise pour remplacer les propriétés de partage. Ce paramètre n’est pas respecté en cas de partage sur ArcGIS Server. | Boolean |
in_my_contents (Facultatif) | Permet de spécifier le mode de partage des couches web et des outils web. Tous les outils web et couches web partagés sont disponibles par le biais de My Content (Mon contenu). Même si vous souhaitez uniquement les partager avec un groupe spécifique de votre organisation, la couche web ou l’outil web sont également partagés via My Content (Mon contenu).
Vous devez être connecté à un portail pour remplacer les propriétés de partage. Ce paramètre n’est pas respecté en cas de partage sur ArcGIS Server. | Boolean |
in_public (Facultatif) | Détermine si la couche web ou l’outil web est accessible au public.
Vous devez être connecté à ArcGIS Online ou à ArcGIS Enterprise pour remplacer les propriétés de partage. Ce paramètre n’est pas respecté en cas de partage sur ArcGIS Server. | Boolean |
in_organization (Facultatif) | Indique s’il convient de partager la couche web ou l’outil web avec votre organisation.
Vous devez être connecté à ArcGIS Online ou à ArcGIS Enterprise pour remplacer les propriétés de partage. Ce paramètre n’est pas respecté en cas de partage sur ArcGIS Server. | Boolean |
in_groups [group_name,...] (Facultatif) | Liste des noms des groupes avec lesquels partager la couche web ou l’outil web. Vous devez être connecté à ArcGIS Online ou à ArcGIS Enterprise pour remplacer les propriétés de partage. Ce paramètre n’est pas respecté en cas de partage sur ArcGIS Server. | String |
Sortie dérivée
Nom | Explication | Type de données |
out_soap_svc_url | URL SOAP d’un service publié sur le serveur. | Chaîne |
out_rest_svc_url | URL REST d’un service publié sur le serveur. | Chaîne |
out_mapServiceItemID | ID de l’élément de la couche d’images de carte partagée sur le portail. | Chaîne |
out_featServiceItemID | ID de l’élément de la couche du service d’entités qui est hébergé sur le portail. | Chaîne |
out_cached_service | Service d’imagerie ou service de carte pour lequel la mise en cache est activée. | Service d’imagerie ; MapServer |
out_featureServiceURL | URL de service REST d’une couche d’entités hébergée et partagée sur le portail. | Chaîne |
out_mapServiceURL | URL de service REST d’une couche d’images de carte partagée sur le portail. | Chaîne |
out_LayerIDMap | Couches publiées et leur ID respectif au format Layer1|ID1;Layer2|ID2; et ainsi de suite. | Chaîne |
out_standaloneTableIDMap | Tables autonomes publiées et leur ID respectif au format Table1|ID1 ; Table2|ID2, etc. | Chaîne |
out_vectorTileServiceID | ID de l’élément du service de tuiles vectorielles. | Chaîne |
out_vectorTileServiceURL | URL du service REST du service de tuiles vectorielles. | Chaîne |
Exemple de code
Les scripts suivants publient une liste de couches à partir d’une carte en tant que couche de tuiles web vers ArcGIS Enterprise ou ArcGIS Online. Les informations de portail sont obtenues à partir de la page Portails dans ArcGIS Pro.
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.")
Le script suivant télécharge une définition de service existante et utilise des paramètres facultatifs pour modifier certaines propriétés du service.
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)
Le script suivant télécharge une définition de service sur ArcGIS Online ou ArcGIS Enterprise et utilise des paramètres facultatifs pour modifier certaines propriétés du service.
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)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?