Paramètres avancés des propriétés des outils web

Les paramètres d’outils Web décrits ci-après sont des paramètres avancés qui ne peuvent pas être définis à l’aide d’ArcGIS Server Manager. Ce sont en fait des services de géotraitement référencés par des outils Web qui ne peuvent être définis qu’avec l’API REST d’administration du serveur ArcGIS Server fédéré. Vous avez besoin de modifier ces paramètres uniquement pour des outils Web spécifiques dont les besoins sont différents.

Modifier la taille du segment de mémoire

Le paramètre de taille du segment de mémoire contrôle la taille maximale de fichier qui peut être fournie par le client. Il peut être défini à deux niveaux : au niveau du serveur ou du service.

La modification de la taille du segment de mémoire au niveau du service améliore davantage les performances que si vous modifiez la taille du segment de mémoire au niveau du serveur. Dans ArcGIS Server 10.7 et versions ultérieures, la taille du segment de mémoire peut être définie au niveau du service. La taille par défaut de chaque service est de 64 Mo. Si vous disposez d’un fichier ou d’une classe d’entités en entrée dont la taille est supérieure à la taille par défaut, modifiez la taille du segment de mémoire du service comme suit :

  1. Dans un navigateur Web, accédez à https://machine.domain.com/webadaptor/admin/login.
  2. Connectez-vous au répertoire administrateur ArcGIS Server avec un compte administrateur.
  3. Cliquez sur le lien Resources: Services (Ressources : services) pour afficher une nouvelle page montrant tous les services publiés.
  4. Cliquez sur le service dont vous voulez modifier la taille du segment de mémoire et ouvrez la page contenant toutes les propriétés du service.
  5. Sur la page des propriétés du service, cliquez sur le lien frameworkProperties pour afficher la page contenant les propriétés de service modifiables au format JSON.
    Exemple de propriétés d’un service au format JSON
  6. Si javaHeapSize ne figure pas dans la liste des propriétés du service, ajoutez la propriété {"javaHeapSize":"128"} dans le fichier JSON. Si la propriété javaHeapSize apparaît, augmentez la valeur de manière appropriée.
  7. Cliquez sur Save Edits (Enregistrer les mises à jour) pour enregistrer et terminer les mises à jour.

Pour modifier la taille du segment de mémoire au niveau du serveur, procédez comme suit. Par défaut, la taille maximale du segment de mémoire du composant des objets serveur (SOC, server object component) est définie sur 64 Mo. Augmentez Ia valeur par défaut de la propriété et indiquez une valeur appropriée.

  1. Dans un navigateur Web, accédez à https://machine.domain.com/webadaptor/admin/login.
  2. Connectez-vous au répertoire administrateur ArcGIS Server avec un compte administrateur.
  3. Cliquez sur machines.
  4. Cliquez sur le lien <Votre nom de serveur>.<domaine>.com.

    Par exemple, le lien peut s’appeler server1.esri.com.

  5. Sur la page Propriétés de la machine du serveur, cliquez sur le lien Modifier.
  6. Augmentez la valeur du paramètre Taille maximale du segment de mémoire SOC (en Mo).
  7. Cliquez sur Save Edits (Enregistrer les mises à jour) pour terminer les mises à jour.

Définir la taille du téléchargement

Le paramètre de la taille du téléchargement permet de contrôler la taille du fichier qui peut être téléchargé par les clients qui se connectent au service via une extrémité REST. Il s’agit généralement de clients Web qui utilisent le service via une application Web personnalisée. Par défaut, la limite est définie sur 2 Go. Utilisez ce paramètre pour fournir une valeur par défaut appropriée et éviter les téléchargements volumineux pour le service.

Pour définir la taille du téléchargement, procédez comme suit :

  1. Dans un navigateur Web, accédez à https://machine.domain.com/webadaptor/admin/login.
  2. Connectez-vous au répertoire administrateur ArcGIS Server avec un compte administrateur.
  3. Cliquez sur Services.
  4. Cliquez sur le nom du service.
  5. Cliquez sur le lien Modifier situé en pas de la page sous Opérations prises en charge.
  6. Dans la zone de texte Service (in JSON format:*) (Service [au format JSON]), recherchez la balise maxUploadFileSize et définissez la taille de fichier maximale après les deux-points (:).

    Lorsque vous avez terminé, vous obtenez une chaîne semblable à "maxUploadFileSize": 100,.

  7. Cliquez sur Enregistrer les mises à jour.
Remarque :

Lorsque vous publiez un outil Web, assurez-vous que la case Uploads (Chargements) du volet Configuration de la fenêtre Share As Web Tool (Partager en tant qu’outil Web) est cochée. Vous pouvez également activer ce paramètre sur un service existant via ArcGIS Server Manager, sur la page des paramètres Capabilities (Fonctionnalités) du service.

Définir le type de téléchargement

Vous ne pouvez charger que certains fichiers dans un outil web. Les fichiers autorisés sont identifiés par leur type d’extension, qui est défini au niveau du service.

Pour définir le type de téléchargement, procédez comme suit :

  1. Dans un navigateur Web, accédez à https://machine.domain.com/webadaptor/admin/login.
  2. Connectez-vous au répertoire administrateur ArcGIS Server avec un compte administrateur.
  3. Cliquez sur Services.
  4. Cliquez sur le nom du service.
  5. Cliquez sur le lien Modifier situé en pas de la page sous Opérations prises en charge.
  6. Dans la zone de texte Service (au format JSON):*, recherchez l’onglet allowedUploadFileTypes et ajoutez les extensions des fichiers autorisés entre les guillemets après les deux points (:).

    Lorsque vous avez terminé, vous obtenez une chaîne semblable à "allowedUploadFileTypes": ".kml,.gpx".

  7. Cliquez sur Enregistrer les mises à jour.
Remarque :

Lorsque vous publiez un outil Web, assurez-vous que la case Uploads (Chargements) du volet Configuration de la fenêtre Share As Web Tool (Partager en tant qu’outil Web) est cochée. Vous pouvez également activer ce paramètre sur un service existant via ArcGIS Server Manager, sur la page des paramètres Capabilities (Fonctionnalités) du service.

Modifier le nombre maximal de domaines

Le paramètre maxDomainCodeCount permet de contrôler le nombre de domaines renvoyés avec une réponse du service. Les descriptions du domaine correspondent à un code renvoyé avec la réponse de sortie de l’entité. Ce paramètre a 1 000 comme valeur par défaut. Si les entités en sortie ont plus de 1 000 domaines participants, aucune information de domaine n’est renvoyée. Le fait de renvoyer les informations de domaine peut accroître la taille de la réponse. Si les domaines ne sont pas nécessaires, définissez cette valeur sur 0 ou sur une valeur inférieure au nombre de domaines en service.

Pour modifier le nombre maximal de domaines, procédez comme suit :

  1. Dans un navigateur Web, accédez à https://machine.domain.com/webadaptor/admin/login.
  2. Connectez-vous au répertoire administrateur ArcGIS Server avec un compte administrateur.
  3. Cliquez sur Services.
  4. Cliquez sur le nom du service.
  5. Cliquez sur le lien Modifier situé en pas de la page sous Opérations prises en charge.
  6. Dans la zone de texte Service (in JSON format:*) (Service [au format JSON]), recherchez la balise maxDomainCodeCount et définissez la limite maximale après les deux-points (:).

    Lorsque vous avez terminé, vous obtenez une chaîne semblable à "maxDomainCodeCount": 25,.

  7. Cliquez sur Enregistrer les mises à jour.

Dossier temporaire local

Le dossier temp local désigne un répertoire dans lequel ArcGIS Server écrit les sorties intermédiaires lorsque le serveur fait partie d’un cluster composé de plusieurs machines ou lorsque les répertoires sont référencés à l’aide d’un chemin UNC. Cela évite d’écrire les données intermédiaires dans une géodatabase ou un dossier temporaire avec un chemin UNC, ce qui peut permettre d’optimiser les performances du service. À la fin de l’exécution, les résultats sont copiés depuis le dossier temporaire local vers le répertoire de tâches, qui peut être un chemin UNC.

Réutiliser le répertoire des tâches pour les services synchrones

Si votre outil Web est basé sur un service de géotraitement synchrone, vous pouvez réutiliser le répertoire des tâches pour de meilleures performances en appliquant "reusejobdir": "true". Normalement, chaque fois que vous exécutez un service de géotraitement synchrone, il y a un dossier de tâches créé dans le dossier arcgisjobs sur votre machine serveur. À l’issue, ArcGIS Server supprime ce dossier de tâches. En définissant la propriété reusejobdir sur true, le dossier de tâches reste au-delà de l’exécution d’une tâche. Cela peut faire gagner du temps en créant une géodatabase temporaire et un dossier temporaire pour la prochaine exécution, fournissant ainsi des avantages en matière de performance. En option, lorsque vous définissez cette propriété à nouveau sur "false", ou supprimez cette propriété, contactez votre administrateur pour supprimer tout dossier de tâches pour ce service.

Pour définir cette propriété, contactez votre administrateur système pour la propriété modifier le service dans l’API d’administrateur.

Voici un fichier JSON simplifié affichant la propriété reusejobdir. Les autres propriétés ont été masquées pour mettre en avant la modification concernant cette propriété.

{
    "serviceName": "sample",
    "type": "GPServer",
    "manyotherkeys": "manyothervalues",
    "properties": {
        "manyotherkeys": "manyothervalues",
        "reusejobdir": true,
        "executionType": "Synchronous"
    },
    "portalProperties": {},
    "extensions": []
}

Consigner des messages dans le journal d’ArcGIS Server

Si un outil Web est publié sur ArcGIS Server 11.3 ou une version ultérieure, vous pouvez inclure une copie des messages de l’outil Web dans le journal d’ArcGIS Server. Le niveau des messages du journal ArcGIS Server correspond à celui de l’outil Web. Pour un message d’outil Web, il existe trois niveaux (erreur, avertissement et information) qui correspondent respectivement aux niveaux Severe (Grave), Warning (Avertissement) et Info dans ArcGIS Server. Définissez manuellement les messages d’outil Web à l’aide des messages d’outil de script. De nombreux outils de géotraitement incluent également des messages prédéfinis. Pour que les messages soient consignés correctement dans ArcGIS Server, spécifiez les paramètres de journal du serveur en conséquence.

Pour définir la propriété logGPMessages, demandez à votre administrateur système de définir la propriété edit service dans l’API REST d’administration.

Un fichier JSON simplifié affichant la propriété logGPMessages. Les autres propriétés ont été masquées pour mettre en avant la modification concernant cette propriété.

{
    "serviceName": "sample",
    "type": "GPServer",
    "other_keys": "other_values",
    "properties": {
        "other_keys": "other_values",
        "logGPMessages": true,
        "executionType": "Asynchronous"
    },
    "portalProperties": {},
    "extensions": []
}

Renvoyer des résultats dans des cas particuliers

En cas d’échec ou d’annulation d’un service de géotraitement asynchrone, ou d’un outil Web qui repose sur un service de géotraitement asynchrone, aucun résultat n’est disponible. Dans le cas où cet outil Web ou ce service de géotraitement est publié sur ArcGIS Server 11.5 ou une version ultérieure, il est toujours possible pour ArcGIS Server de renvoyer les résultats si vous y accédez via les ressources results ou result de l’ArcGIS REST API. Cette fonctionnalité n’est pas disponible en cas d’utilisation d’un service de géotraitement synchrone ou d’un outil Web qui repose sur un service de géotraitement synchrone. Vous ne pouvez pas non plus accéder aux résultats dans ArcGIS Pro pour les tâches ayant échoué ou ayant été annulées.

Pour définir la propriété saveRESTResultsOnFailOrCancel, demandez à votre administrateur système de définir la propriété edit service dans l’API REST d’administration.

Un fichier JSON simplifié affichant la propriété saveRESTResultsOnFailOrCancel. Les autres propriétés ont été masquées pour mettre en avant la modification concernant cette propriété.

{
    "serviceName": "sample",
    "type": "GPServer",
    "other_keys": "other_values",
    "properties": {
        "other_keys": "other_values",
        "saveRESTResultsOnFailOrCancel": true,
        "executionType": "Asynchronous"
    },
    "portalProperties": {},
    "extensions": []
}

Bloquer certains outils

Pour la publication d’outils Web ou de services de géotraitement, il peut être nécessaire de désactiver certaines tâches ou d’en bloquer l’accès. Avec ArcGIS Server 11.5 et ses versions ultérieures, ajoutez la propriété blockedTools ou allowedTools aux propriétés du service pour bloquer des outils spécifiques.

Utilisez la propriété blockedTools pour rendre inutilisables des outils spécifiques. Utilisez la propriété allowedTools pour ne rendre utilisables que des outils spécifiques (les autres outils seront inaccessibles). Utilisez l’une ou l’autre des propriétés pour des raisons pratiques. Pour spécifier une tâche, utilisez son nom ou son nom d’affichage. Lorsque le nom d’une tâche correspond au nom d’affichage d’une autre tâche, les deux tâches sont reconnues et bloquées ou autorisées.

Un fichier JSON simplifié affichant la propriété blockedTools avec plusieurs noms de tâches à bloquer. Les noms sont séparés par des points-virgules.

{
    "serviceName": "sample",
    "type": "GPServer",
    "other_keys": "other_values",
    "properties": {
        "other_keys": "other_values",
        "blockedTools": "extractData;bufferInputs",
        "executionType": "Synchronous"
    },
    "portalProperties": {},
    "extensions": []
}