Utiliser des outils web avec un service d’entités en sortie

Lorsque vous consommez un outil web avec des entités en sortie normales, la sortie est générée sur l serveur et renvoyée au client en tant qu’entité. Les services d’entités en sortie se trouvent dans ArcGIS Data Store sur le serveur d’hébergement et vous permettent de servir les données d’entités en sortie et les tables non spatiales sur le réseau plutôt que d’enregistrer le résultat sur un disque local. Cela permet également de réduire les frais généraux liés au transport des données générées vers le client, améliorant ainsi l’efficacité d’un outil web si les entités en sortie du résultat sont trop volumineuses. Vos données sont également mises à la disposition de différents clients, tels que des clients web, des applications bureautiques et des applications de terrain.

Création

Pour utiliser cette fonctionnalité, vous devez disposer d’une sortie de type table ou classe d’entités.

Inutile de modifier quoi que ce soit lorsque vous créez l’outil Web, que la sortie soit facultative ou obligatoire.

Publication

Pour partager un outil web avec un service d’entités en sortie, vous devez respecter la configuration logicielle requise suivante :

  • ArcGIS Pro 2.3 ou version ultérieure.
  • ArcGIS Server et Portal for ArcGIS 10.7 ou version ultérieure.
  • ArcGIS Server doit être fédéré sur Portal for ArcGIS.
  • Portal for ArcGIS doit avoir un serveur d’hébergement.

Après avoir exécuté l’outil, configurez les paramètres suivants dans la boîte de dialogue Share As A Web Tool (Partager en tant qu’outil Web) :

  • Partagez l’outil Web uniquement avec des groupes de votre portail ou ArcGIS Enterprise. Laissez l’option Everyone (Tout le monde) désélectionnée pour éviter les problèmes d’autorisation lors de la consommation de l’outil.
  • Définissez l’option Execution Mode (Mode d’exécution) sur Asynchronous (Asynchrone).
  • Laissez l’option View output in map image layer (Afficher la sortie dans la couche d’images de carte) désélectionnée.
  • L’option Maximum number of records returned by server (Nombre maximum d’enregistrements renvoyés par le serveur) n’a aucune incidence sur le service d’entités en sortie.
  • Pour désactiver le paramètre du service d’entités en sortie dans la sortie publiée, cliquez sur le bouton Configure Tool Properties (Configurer les propriétés de l’outil) Configurer les propriétés d’un outil et désélectionnez l’option Add optional output feature service parameter (Ajouter un paramètre de service d’entités en sortie facultatif).

Si vous utilisez la fonction CreateGPSDDraft pour publier un outil Web, spécifiez l’argument server_type en tant que MY_HOSTED_SERVICES. Il n’existe aucune option permettant de supprimer ce paramètre Output feature service name (Nom du service d’entités en sortie) facultatif.

Lorsque vous utilisez la classe GeoprocessingSharingDraft, définissez la propriété enableOutputFeatureService sur True ou False, selon que vous souhaitez utiliser ou non le paramètre Output feature service name (Nom du service d’entités en sortie) facultatif.

Consommer un outil Web avec un nouveau service d’entités en sortie

Lorsque vous consommez un outil Web avec des entités ou une table en sortie, un paramètre en entrée facultatif supplémentaire nommé Output feature service name (Nom du service d’entités en sortie) est disponible à la fin de la liste des options. Situées sous l’option, les options Overwrite an existing Output Hosted Feature Service (Remplacer un service d’entités hébergé existant) et Create a new Output Feature Hosted Service if overwrite fails (Créer un nouveau service d’entités hébergé en cas d’échec du remplacement) permettent de remplacer un service d’entités en sortie existant. Ce paramètre en sortie est généré pendant la publication. Il ne peut être ni supprimé, ni renommé une fois l’outil Web publié. Pour consommer un outil Web avec un nouveau service d’entités en sortie, indiquez dans la zone de texte un nom de service qui respecte les conditions requises suivantes :

  • Le nom du service d’entités en sortie doit être unique parmi tous les services hébergés de votre portail, car tous les services d’entités en sortie résideront dans le dossier Hosted du portail.
  • Le nom ne peut contenir que des caractères alphanumériques et des traits de soulignement et ne doit pas comporter plus de 120 caractères.
  • L’utilisateur du portail doit disposer des privilèges permettant la création d’un service d’entités en sortie/ Les seuls rôles dotés de ce privilège sont les rôles Publication et Administration. Dans le cas d’utilisateurs du portail dotés d’un rôle personnalisé, ce rôle doit disposer des privilèges Members/View (Membres/Afficher), Content/Publish hosted feature layers (Contenu/Publier des couches d’entités hébergées) et Content and Analysis/Standard Feature Analysis (Contenu et analyse/Analyse d’entités standard).

Lors de la consommation de l’outil web avec un service d’entités en sortie, toutes les entités en sortie sont copiées dans le répertoire de données du serveur d’hébergement, quel que soit l’endroit où réside le résultat sur le serveur.

Remarque :

Lorsque vous publiez un outil Web sur un site fédéré ArcGIS Server avec votre portail, une commande allowconnection doit être exécutée sur le serveur d’hébergement. Sinon, les résultats ne peuvent pas être copiés sur le serveur d’hébergement.

Lors de l’exécution de l’outil Web, le serveur fournit une URL au service d’entités obtenu. Si vous consommez l’outil Web dans ArcGIS Pro, le résultat est ajouté en tant que couche avec une URL de service à la table des matières. Si vous consommez l’outil web à partir d’une extrémité REST, le résultat est une représentation JSON de l’URL.

Remarque :

Le paramètre Output feature service name (Nom du service d’entités en sortie) est facultatif. Si vous ne spécifiez pas le paramètre Output feature service name (Nom du service d’entités en sortie) et que vous consommez un outil Web, une table ou une entité en sortie normale est générée.

Les propriétés du paramètre en sortie d’origine affectent le rendu du service d’entités. Voici les scénarios courants :

  • Sorties multiples : lorsqu’il existe plusieurs paramètres d’entités en sortie, chaque résultat en sortie est ajouté en tant que couche au service d’entités en sortie, mais il n’y a qu’un seul service d’entités en sortie lors de l’exécution d’un outil web. S’il existe différentes références spatiales pour ces couches, toutes les couches sont projetées sur la référence spatiale de la première couche.
  • Sortie vide : si le résultat d’un paramètre en sortie est vide lors de l’exécution d’un outil web, une couche avec des entités vides est générée et ajoutée au service.
  • Sortie facultative ou dérivée : si le type de paramètre en sortie est facultatif ou dérivé, il se peut que la sortie ne soit pas générée lors de l’exécution de l’outil Web. Dans ce cas, aucune couche n’est ajoutée au service.
  • Sortie avec plusieurs valeurs : l’exécution d’un outil web dont la sortie comporte plusieurs valeurs ne prend pas en charge un service d’entités en sortie.
  • Symbologie : si une symbologie est définie pour la sortie de l’outil, le service d’entités en sortie la conserve. Si aucune symbologie n’est définie lors de la création de l’outil, la symbologie par défaut est utilisée.

Remplacer un service d’entités hébergé existant

Vous pouvez remplacer un service d’entités en sortie existant à partir de ArcGIS Pro 3.0 et ArcGIS Enterprise 11 et versions ultérieures. Tenez compte des conditions requises et des privilèges décrits ci-dessous avant de remplacer un service d’entités en sortie.

Les conditions requises suivantes sont liées à la référence spatiale et au type de client :

  • Si la référence spatiale de la sortie de l’analyse actuelle et la couche du service d’entités en sortie existant sont différentes, vous ne pouvez pas remplacer le service.
  • Vous ne pouvez procéder au remplacement qu’à partir de ArcGIS Pro 3.0 et de l’extrémité REST. Le remplacement depuis Python, Map Viewer Classic et Web AppBuilder n’est pas pris en charge.

Les privilèges qui permettent de remplacer un service d’entités en sortie existant sont liés au rôle du compte de connexion ArcGIS Enterprise.

  • Le rôle doit être doté d’un privilège de création de service d’entités en sortie, lequel est limité aux rôles Publication et Administration. Dans le cas d’un rôle personnalisé, vous devez activer les privilèges Members/View (Membres/Afficher), Content/Publish hosted feature layers (Contenu/Publier des couches d’entités hébergées), Content/Create, update, and delete (Contenu/Créer, mettre à jour et supprimer) et Content and Analysis/Standard Feature Analysis (Contenu et analyse/Analyse d’entités standard).
  • Un rôle Administration peut remplacer n’importe quel service d’entités hébergé.
  • Un rôle Publication ne peut remplacer que les services d’entités hébergés possédés.

Pour effectuer un remplacement à partir de ArcGIS Pro 3.0, procédez comme suit :

  • Ouvrez la tâche de l’outil Web et sélectionnez l’option Output feature service name (Nom du service d’entités en sortie). Vous trouverez sous le paramètre une case désélectionnée (Overwrite an existing Output Hosted Feature Service (Remplacer un service d’entités hébergé existant)) et une case à cocher désactivée (Create a new Output Feature Hosted Service if overwrite fails (Créer un nouveau service d’entités hébergé en cas d’échec du remplacement)).
  • Utilisez la zone de texte pour indiquer un nom de service existant ou une expression JSON en entrée, ou cliquez sur le bouton Browse (Parcourir) pour sélectionner le service à remplacer.
  • Cochez la case Overwrite an existing Output Hosted Feature Service (Remplacer un service d’entités hébergé existant) ; la case Create a new Output Feature Hosted Service if overwrite fails (Créer un nouveau service d’entités hébergé en cas d’échec du remplacement) s’active. Laissez la case à cocher activée désélectionnée ou sélectionnée et cliquez sur Run (Exécuter) pour procéder au remplacement.
  • Si le remplacement n’aboutit pas et que la case Create a new Output Feature Hosted Service if overwrite fails (Créer un nouveau service d’entités hébergé en cas d’échec du remplacement) n’est pas sélectionnée, un message d’erreur est renvoyé. Si le remplacement n’aboutit pas mais que cette case est cochée, un nouveau service d’entités hébergé en sortie est créé et _1 est ajouté en suffixe après l’échec de la tentative initiale. Les tentatives ultérieures incrémentent le suffixe (_2, _3, etc.).