Skip To Content

Déplacer un répertoire des tâches du service de géotraitement vers le stockage Microsoft Azure

Dans ArcGIS Server 10.7, les administrateurs peuvent déplacer le répertoire des tâches d’un service de géotraitement (ou de plusieurs services de géotraitement) depuis un emplacement sur un disque vers un emplacement de stockage cloud Microsoft Azure, sans modifier les autres répertoires du serveur. Si les sorties de vos services de géotraitement sont généralement volumineuses, vous pouvez utiliser cette option pour mettre à l’échelle vos ressources de stockage.

Remarque :

Si l’option View output in map image layer (Afficher la sortie dans une couche d’images cartographiques) a été désactivée lors de la publication de l’outil web, vous ne pouvez pas utiliser le stockage cloud comme répertoire des tâches pour le service de géotraitement qui en résulte. Une telle modification entrainera la corruption du service.

Préparer l’environnement Azure

Vous avez besoin d’un compte Microsoft Azure pour créer un compte de stockage et des conteneurs BLOB et des tables.

Créer un compte de stockage Azure

Le compte de stockage doit répondre aux conditions requises suivantes :

  • Un compte de stockage aux performances standard est requis.
  • Il doit s’agir d’un compte à usage général v2 (recommandé) ou v1. Les comptes de stockage Blob, Block Blob et de fichiers Azure ne sont pas pris en charge.
  • Le niveau d’accès chaud est recommandé.
  • Il est possible d’ajuster d’autres paramètres avancés du compte de stockage selon les besoins de votre organisation.

Une fois le compte de stockage déployé, copiez l’élément key1 des clés d’accès de votre compte de stockage, élément nécessaire à l’inscription du compte en tant que répertoire cloud auprès de ArcGIS Server.

Créer une table et un conteneur BLOB

Créez une table et un conteneur BLOB dans le même compte de stockage. Le service de géotraitement ne peut pas les identifier s’ils se trouvent dans des comptes de stockage différents.

Notez le nom exact de la table que vous créez ; vous l’utiliserez dans ArcGIS Server.

Déplacer le répertoire des tâches vers Azure

AzureUne fois la table et le conteneur blob déployés, inscrivez le conteneur blob dans ArcGIS Server et modifiez les propriétés du service en conséquence.

  1. Connectez-vous à ArcGIS Server Manager et inscrivez le conteneur blob de votre compte de stockage auprès du serveur.
  2. Une fois le conteneur blob inscrit en tant que répertoire cloud, liez-le à votre table Azure à l’aide de l’API REST. Connectez-vous au répertoire administrateur d'ArcGIS Server à l'adresse suivante : https://gisserver.domain.com:6443/arcgis/admin.
  3. Accédez à data (données) > items (éléments) > /CloudStores, localisez votre nouveau conteneur BLOB, puis cliquez sur edit (mettre à jour) pour ouvrir l’extrémité Edit Data Item (Mettre à jour l’élément de données).
  4. Dans la représentation JSON de l’élément, ajoutez la paire de clés suivante avec le nom de votre table Azure :

    "tableStore":"<name of Azure table>"

  5. Cliquez sur Update (Mettre à jour) pour confirmer.
  6. Revenez à la page d’accueil du répertoire administrateur et cliquez sur Services.
  7. Localisez le service de géotraitement (ou un des services) que vous souhaitez configurer afin qu’il utilise le conteneur blob Azure, cliquez sur son nom, puis sur edit (mettre à jour).
  8. Dans la représentation JSON du service, localisez et mettez à jour la paire de clés suivante avec le nom de votre répertoire cloud :

    "jobsDirectory":"/cloudStores/<name of your cloud store>"
    Astuce :

    Le nom du répertoire cloud figure à la fin de l’extrémité de l’URL de l’élément de données dans le répertoire administrateur.

  9. Cliquez sur Save Edits (Enregistrer les mises à jour) pour confirmer.
  10. Si vous configurez plusieurs services de géotraitement afin qu’ils utilisent le conteneur blob Azure comme répertoire des tâches, répétez les étapes 4 à 9 pour chaque service.

Exemple JSON

Supposez que votre compte Azure dispose d’un compte de stockage nommé mystorageaccount comprenant un conteneur blob nommé myblob et une table mytable. L’élément key1 de mystorageaccount est thisisafakekey12345. Vous souhaitez que votre service de géotraitement myGPService1 utilise le stockage Azure pour son répertoire des tâches.

Au cours de l’inscription, Cloud Store Name ( (Nom du répertoire cloud) a pour valeur azureblob.

Lorsque vous mettez à jour les propriétés du répertoire cloud, le JSON est modifié et "tableStore": "mytable" est ajouté à la fin.

Mettez à jour l’élément de données.

{
  "path": "/cloudStores/azureblob",
  "type": "cloudStore",
  "id": "31245-abcde...",
  "provider": "azure",
  "info": {
    "isManaged": false,
    "connectionString": "abc/def/ghi/jkl/lmn/opq",
    "objectStore": "myblob",
    "tableStore": "mytable"
  }
}

Mettez ensuite à jour le JSON des propriétés de votre service de géotraitement en ajoutant "jobsDirectory": "/cloudStores/azureblob", après "virtualOutputDir": "/rest/directories/arcgisoutput",.

Mettez à jour GPServer.

{
 "serviceName": "myGPService1", <... removed to save space ...>
  "resultMapServer": "false",  "maximumRecords": "1000",  "virtualOutputDir": "/rest/directories/arcgisoutput",  "jobsDirectory": "/cloudStores/azureblob",  "portalURL": "https://domain/webadaptor/",  "toolbox":  <... removed to save space ...>
 }, "portalProperties": < ...removed to save space... >, "extensions": < ...removed to save space... >, "frameworkProperties": {}, "datasets": []
}