Dans ArcGIS Server 10.7, les administrateurs peuvent modifier les répertoires des tâches, ainsi que les répertoires d’entrée et de sortie, d’un emplacement de disque vers un paquet Amazon S3. Si les sorties de vos services de géotraitement sont généralement volumineuses, vous pouvez utiliser un paquet Amazon S3 pour mettre à l’échelle vos ressources de stockage. Vos services de géotraitement risquent d’être plus lents avec cette configuration.
Remarque :
Une couche d’image cartographique de résultats d’un service de géotraitement n’est pas disponible avec cette configuration.
Vous pouvez configurer ce stockage cloud à l’aide d’une clé d’accès ou un rôle IAM à l’aide de la procédure ci-dessous.
Préparer l’environnement Amazon Web Services (AWS)
Pour les services de géotraitement synchrones, seul le service Amazon S3 est requis. Pour les services asynchrones, vous devez fournir un accès ArcGIS Server à DynamoDB et Simple Queue Service. Votre paquet Amazon S3, la table DynamoDB et la file d’attente Simple Queue Service doivent être dans la même région.
- Création d’un paquet dans Amazon S3.
Voir Créer votre premier paquet S3 pour plus d’informations.
- Vous pouvez également créer une table avec serviceId en tant que clé de partition et avec jobId en tant que clé de tri.
Les deux clés sont au format de chaîne. Si vous ne fournissez pas les clés, ArcGIS Server crée automatiquement une table.
- Pour chaque service de géotraitement asynchrone, créez une file d’attente de type standard unique dans Simple Queue Service.
Utilisation d’une clé d’accès
Pour utiliser une clé d’accès et se connecter au paquet Amazon S3, procédez comme suit :
Remarque :
Si le service de géotraitement produit un fichier ou une sortie raster, la clé d’accès fera partie intégrante de l’URL correspondant aux sorties raster ou au fichier obtenus, du fichier de structure JSON et des URL d’aide. Vous devez déterminer si cela est conforme à la stratégie de sécurité de votre organisation.
ArcGIS Server a également besoin de la clé d’accès lors du processus d’enregistrement de l’élément de répertoire de données. Toutefois, ArcGIS Server chiffre toujours votre clé secrète.
- Connectez-vous au répertoire administrateur ArcGIS Server et accédez à Register Item (Inscrire l’élément).
- Donnez les informations de connexion pour le paquet Amazon S3 et DynamoDB, y compris la clé d’accès et la clé secrète.
Exemple JSON pour enregistrer un élément de données dans ArcGIS REST API
{ "path": "/cloudStores/<name of your cloud store>", "type": "cloudStore", "provider": "amazon", "info": { "isManaged": false, "connectionString": { "accessKeyId":"<your access key>", "secretAccessKey":"<your secret key>", "region":"<your region>", "defaultEndpointsProtocol":"https", "credentialType":"accesskey" }, "objectStore": "<name of your S3 bucket>/<optional folder name>", "dynamoDbTable":"<dynamoDB table name>" } }
- Revenez à la page d’accueil du répertoire administrateur et cliquez sur Services.
- Recherchez le service de géotraitement que vous souhaitez utiliser dans l’environnement AWS, cliquez sur le nom du service, puis sur edit (modifier)
- Dans la représentation JSON du service, ajoutez les paires de clés suivantes avec une nouvelle valeur serviceId unique, le nom de votre stockage cloud et la file d’attente de ce service :
Configuration du géotraitement asynchrone
{ "serviceId": "<a unique service ID>", "jobQueueStore":"/cloudStores/<name of your cloud store>", "jobTableStore": "/cloudStores/<name of your cloud store>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>", "jobsStoreQueue": "<name of the queue>" }
Configuration du géotraitement synchrone
{ "serviceId": "<a unique service ID>", "outputStore": "/cloudStores/<name of your cloud store>", "jobObjectStore": "/cloudStores/<name of your cloud store>" }
Conseil :
La valeur <name of the cloud store> se trouve à la fin du point de terminaison de l’URL de son élément de données dans le répertoire administrateur.
- Cliquez sur Save Edits (Enregistrer les mises à jour) pour confirmer la configuration.
Le service de géotraitement redémarre automatiquement, ce qui prend un certain temps.
- Répétez les étapes 4 à 6 pour des services supplémentaires.
Exemple JSON
Modifiez les propriétés de service JSON de votre service de géotraitement en ajoutant les paires de valeurs de clé requises à l’étape 5 ci-dessus.
Mettez à jour GPServer. Il s’agit d’un JSON tronqué pour la configuration de service de géotraitement asynchrone.{
"serviceName": "myGPService1",
"resultMapServer": "false",
"maximumRecords": "1000",
"virtualOutputDir": "/rest/directories/arcgisoutput",
"serviceId": "<this_is_a_unique_serviceid>",
"jobQueueStore":"/cloudStores/<name of your cloud store>",
"jobTableStore": "/cloudStores/<name of your cloud store>",
"outputStore": "/cloudStores/<name of your cloud store>",
"jobObjectStore": "/cloudStores/<name of your cloud store>",
"jobsStoreQueue": "<this_is_a_unique_queue_name>",
"portalURL": "https://domain/webadaptor/"
},
"portalProperties": "",
"extensions": "",
"frameworkProperties": {},
"datasets": []
}
Configuration d’un rôle IAM
Pour utiliser un rôle IAM AWS, vous devez disposer d’un déploiement dans la même région que votre paquet Amazon S3., Table DynamoDB et Simple Queue Service. Reportez-vous à la rubrique ArcGIS Enterprise on Amazon Web Services pour plus d’informations.
Vérifiez que les stratégies de service de file d’attente simple de vos rôles IAM sont en place, en plus des stratégies IAM pour ArcGIS Enterprise on Amazon Web Services.
La procédure de configuration est identique à celle présentée ci-dessus, outre l’enregistrement de répertoire de données de l’étape 2. Utilisez l’exemple JSON ci-dessous pour l’étape 2. Exemple JSON d’enregistrement d’un élément de données dans ArcGIS REST API à l’aide du rôle IAM{
"path": "/cloudStores/<name of your cloud store>",
"type": "cloudStore",
"provider": "amazon",
"info": {
"isManaged": false,
"connectionString": {
"region":"<your region>",
"defaultEndpointsProtocol":"https",
"credentialType":"iamrole"
},
"objectStore": "<name of your S3 bucket>/<optional folder name>",
"dynamoDbTable":"<dynamoDB table name>"
}
}
Vous avez un commentaire à formuler concernant cette rubrique ?