Préparer un service (Serveur)

Synthèse

Permet d’organiser une définition de service. Un fichier de définition de service organisé (.sd) contient toutes les informations nécessaires au partage d’une couche Web, d’un localisateur, d’un outil Web ou d’un service.

Utilisation

  • Cet outil convertit un fichier brouillon de définition de service (.sddraft) en une définition de service qui peut être insérée dans l’outil Télécharger la définition du service en vue de charger et de publier une couche Web, un localisateur, un outil Web ou un service sur ArcGIS Online, ArcGIS Enterprise ou ArcGIS Server. Il est impossible d’utiliser des brouillons de définitions de service pour publier directement une couche Web, un localisateur, un outil Web ou un service.

  • Cet outil analyse les fichiers .sddraft pour déterminer l’adéquation et les sources des problèmes de performance éventuels avant de convertir un fichier .sddraft en un fichier .sd. Lorsque l’outil est en cours d’exécution, vous pouvez survoler la barre de progression pour afficher une fenêtre contextuelle contenant des informations complètes relatives à l’outil, notamment les messages de l’analyseur. Vous pouvez également cliquer sur Afficher les détails pour afficher les mêmes informations dans une fenêtre distincte, ou cliquer sur Ouvrir l’historique pour ouvrir l’historique de géotraitement du projet. Au terme de l’exécution de l’outil, la barre de progression affiche une icône et un message d’état de l’outil. Pour en savoir plus sur la visualisation des messages dans les outils de géotraitement, consultez la rubrique Utiliser un outil de géotraitement.

  • Lors de l’analyse d’un fichier .sddraft, deux types de messages peuvent apparaître : des erreurs et des avertissements. Les erreurs d’analyseur doivent être traitées avant de créer un fichier .sd. Les avertissements d’analyseur identifient les problèmes relatifs aux performances, à l’apparence et à l’accès des données, mais ne vous empêchent pas de convertir le fichier .sddraft en un fichier .sd. Chaque messages de l’analyseur a une rubrique d’aide associée. Pour plus d'informations sur la résolution de ces problèmes, reportez-vous à la rubrique Analyser votre ressource SIG.

  • Des brouillons de définition de service peuvent être créés à l’aide du module arcpy.sharing ou des fonctions CreateGeocodeSDDraft CreateGPSDDraft ou ArcPy.

Paramètres

ÉtiquetteExplicationType de données
Brouillon de la définition du service

La définition de service de brouillon en entrée Des brouillons de définition de service peuvent être créés à l’aide du module arcpy.sharing ou des fonctions CreateGeocodeSDDraft CreateGPSDDraft ou ArcPy.

File
Définition de service

La définition de service résultante. Par défaut, il convient d'écrire la définition de service dans le même répertoire que la définition de service de brouillon.

File
Version intermédiaire
(Facultatif)

Version de la définition de service publiée.

Lorsque vous partagez une couche d’entités, de tuiles ou d’imagerie dans ArcGIS Enterprise, utilisez 5 pour la valeur. Lorsque vous partagez une couche d’images de carte ou un outil Web dans ArcGIS Enterprise, et n’importe quel type de couche dans ArcGIS Online, utilisez la valeur 102. Il s’agit de l’option par défaut.

Lorsque vous partagez un outil Web ou un service de géotraitement avec un serveur ArcGIS Enterprise ou ArcGIS Server à l’aide de la fonction GeoprocessingSharingDraft ou CreateGPSDDraft, utilisez la valeur correspondant au numéro de version figurant dans la liste suivante :

  • 11.3--330
  • 11.2—320
  • 11.1—310
  • 11.0—300
  • 10.9.1—209
  • 10.9—208
  • 10.8.1—206
  • 10.8—205
  • 10.7.1—204
  • 10.7—203
  • 10.6.1—202
  • 10.6—201
  • 10.5.1—200
Long

arcpy.management.StageService(in_service_definition_draft, out_service_definition, {staging_version})
NomExplicationType de données
in_service_definition_draft

La définition de service de brouillon en entrée Des brouillons de définition de service peuvent être créés à l’aide du module arcpy.sharing ou des fonctions CreateGeocodeSDDraft CreateGPSDDraft ou ArcPy.

File
out_service_definition

La définition de service résultante. Par défaut, il convient d'écrire la définition de service dans le même répertoire que la définition de service de brouillon.

File
staging_version
(Facultatif)

Version de la définition de service publiée.

Lorsque vous partagez une couche d’entités, de tuiles ou d’imagerie dans ArcGIS Enterprise, utilisez 5 pour la valeur. Lorsque vous partagez une couche d’images de carte ou un outil Web dans ArcGIS Enterprise, et n’importe quel type de couche dans ArcGIS Online, utilisez la valeur 102. Il s’agit de l’option par défaut.

Lorsque vous partagez un outil Web ou un service de géotraitement avec un serveur ArcGIS Enterprise ou ArcGIS Server à l’aide de la fonction GeoprocessingSharingDraft ou CreateGPSDDraft, utilisez la valeur correspondant au numéro de version figurant dans la liste suivante :

  • 11.3--330
  • 11.2—320
  • 11.1—310
  • 11.0—300
  • 10.9.1—209
  • 10.9—208
  • 10.8.1—206
  • 10.8—205
  • 10.7.1—204
  • 10.7—203
  • 10.6.1—202
  • 10.6—201
  • 10.5.1—200
Long

Exemple de code

Exemple 1 d’utilisation de l’outil StageService (script autonome)

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 AllSource.

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.")
Exemple 2 d’utilisation de l’outil StageService (script autonome)

Le script suivant organise un brouillon de la définition du service existante et affiche les avertissements et les erreurs de l’analyseur.

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