Créer un fichier de connexion au stockage Cloud (Gestion des données)

Synthèse

Crée un fichier de connexion pour le stockage cloud pris en charge par ArcGIS. Cet outil permet aux outils de géotraitement raster existants d’écrire des jeux de données au format CRF (Cloud Raster Format) dans le paquet du stockage cloud ou de lire des jeux de données raster (pas uniquement au format CRF) stockés dans le stockage cloud en entrée.

Utilisation

  • Pour exécuter cet outil, vous devez fournir les informations nécessaires à l’établissement d’une connexion au stockage Cloud, telles que l’ID de la clé d’accès, la chaîne de la clé d’accès secrète et le nom du compartiment. Vous pouvez également utiliser d’autres méthodes d’authentification à l’aide du paramètre Options du fournisseur de services.

    En savoir plus sur la connexion aux répertoires Cloud

  • L’outil génère un fichier de connexion au stockage cloud binaire au format ArcGIS Cloud Storage (.acs).

  • Le jeu de données raster présent dans le stockage cloud peut être référencé via un chemin d’accès au fichier, tel que c:/temp/amazons3.acs/someraster.

  • Cet outil prend en charge les connexions aux compartiments Amazon Simple Storage Service (S3), aux conteneurs de stockage Blob Microsoft Azure, à Microsoft Azure Data Lake Storage Gen2, aux compartiments Alibaba Cloud Object Storage Service (OSS), aux compartiments Google Cloud Storage Service (GCS), à WebHDFS et aux compartiments MinIO Object Storage Service.

  • Si le jeu de données est stocké dans un dossier du compartiment, le nom du dossier doit être inclus dans le chemin, par exemple, c:/temp/amazons3.acs/foldername/someraster.

  • L’outil valide les identifiants de connexion fournis au moment de l’exécution. Si la connexion ne peut pas être établie, l’exécution de l’outil échoue.

  • Le contrôle d’accès en fonction du rôle (Role-Based Access Control, RBAC) est disponible pour les fournisseurs Cloud Amazon, Azure et Google. Laisser le champ de tous les paramètres d’authentification vide tout en utilisant une machine virtuelle EC2 ou Azure, ou Google Compute Engine permet à ArcGIS Pro d’accéder au stockage Blob avec les rôles IAM ou la fonction Azure RBAC. Pour Amazon, IMDSv1 et IMDSv2 sont pris en charge.

    Microsoft Azure Data Lake Storage Gen2 suit les mêmes options que Azure mais offre des opérations atomiques et une prise en charge réelle des répertoires à l’aide d’une extrémité DFS. Certaines erreurs de réseau survenant pendant des opérations cloud se reproduisent à la suite d’un backoff exponentiel.

    Pour connaître les aspects spécifiques aux performances et obtenir d’autres informations, reportez-vous à la documentation Systèmes de fichiers virtuels GDAL.

Paramètres

ÉtiquetteExplicationType de données
Emplacement du fichier de connexion

Chemin d’accès au dossier dans lequel le fichier est créé.

Folder
Nom du fichier de connexion

Nom du fichier de connexion au stockage cloud.

String
Fournisseur de services

Indique le fournisseur de services du stockage Cloud qui sera utilisé.

  • AzurLe fournisseur de services sera Microsoft Azure.
  • AmazonLe fournisseur de services sera Amazon S3.
  • GoogleLe fournisseur de services sera Google Cloud Storage.
  • AlibabaLe fournisseur de services sera Alibaba Cloud Storage.
  • WebHDFSLe fournisseur de services sera WebHDFS.
  • MinIOLe fournisseur de services sera MinIO.
  • Azure Data LakeLe fournisseur de services sera Azure Data Lake.
String
Nom du paquet (container)

Nom du container du stockage cloud dans lequel le jeu de données raster est stocké. Pour de nombreux fournisseurs cloud, ce conteneur est également appelé paquet.

String
ID de la clé d’accès (nom du compte)
(Facultatif)

Chaîne d’ID de la clé d’accès correspondant au type de stockage cloud donné. Il peut également s’agir du nom du compte, comme avec Azure.

String
Clé d'accès secrète (clé du compte)
(Facultatif)

Chaîne de la clé d’accès secrète qui permet d’authentifier la connexion au stockage cloud.

Encrypted String
Région (environnement)
(Facultatif)

Chaîne de la région du stockage cloud. Si elle est fournie, la valeur doit utiliser le format défini par le choix du stockage cloud. Par défaut, il s’agit du compte par défaut du fournisseur cloud sélectionné.

String
Point d’arrêt du service
(Facultatif)

Extrémité du service (uris) du stockage cloud, comme oss-us-west-1.aliyuncs.com. Si aucune valeur n’est fournie, l’extrémité par défaut du type de stockage cloud sélectionné est utilisée. L’extrémité redirigée CNAME peut également être utilisée, le cas échéant.

String
Options du fournisseur de services
(Facultatif)

Options de configuration inhérentes au type spécifique de service cloud. Certains services proposent des options et d’autres non. Vous devez définir ce paramètre uniquement si vous souhaitez activer les options.

  • Azure et Microsoft Azure Data Lake
    • AZURE_SAS : spécifiez une signature d’accès partagé. Assurez-vous que sa valeur est codée au format URL et ne contient pas de caractères de début « ? » ou « & ». Lors de l’utilisation de cette option, le paramètre Clé d’accès secrète (clé du compte) doit être vide.
    • AZURE_NO_SIGN_REQUEST (valeur par défaut : False) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié. Lorsque vous utilisez cette option, le champ du paramètre Clé d’accès secrète (clé de compte) doit être vide.
    • AZURE_STORAGE_CONNECTION_STRING : spécifie une chaîne de connexion Azure Storage. Cette chaîne incorpore le nom de compte, la clé et l’extrémité. Lorsque vous utilisez cette option, les paramètres ID de clé d’accès (nom de compte) et Clé d’accès secrète (clé de compte) doivent être vides.
    • CPL_AZURE_USE_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • Amazon et MinIO
    • AWS_NO_SIGN_REQUEST (valeur par défaut : False) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié.
    • AWS_SESSION_TOKEN : spécifie des identifiants de connexions temporaires.
    • AWS_DEFAULT_PROFILE : les profils d’identifiants de connexion AWS sont automatiquement utilisés si la clé d’accès ou l’ID est manquant. Cette option peut être utilisée pour spécifier le profil à utiliser.
    • AWS_REQUEST_PAYER : vous pouvez accéder aux compartiments Le demandeur paye en définissant cette option sur Demandeur.
    • AWS_Virtual_Hosting (valeur par défaut : True) : si vous utilisez des fournisseurs de Cloud compatibles avec Amazon S3 ou S3 et qui ne prennent en charge que des requêtes de type chemin d’accès, définissez cette option sur True. Il est recommandé d’utiliser l’hébergement virtuel s’il est pris en charge.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (valeur par défaut : True) : certaines anciennes implémentations compatibles avec S3 ne prennent pas en charge l’opération de suppression en bloc. Définissez cette option sur False pour ces fournisseurs.
    • AWS_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • Google
    • GS_NO_SIGN_REQUEST (valeur par défaut : True) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié.
    • GS_USER_PROJECT : vous pouvez accéder aux compartiments Le demandeur paye en définissant des clés OAuth2 et un projet à facturer. Vous pouvez spécifier le projet avec cette option ; vous devez définir des clés OAuth2 à l’aide d’autres options et ne pas utiliser les clés HMAC comme clé d’accès secrète ou comme ID.
    • GS_OAUTH2_REFRESH_TOKEN : Indiquez un Jeton d’accès d’actualisation OAuth2. Définissez les identifiants de connexion au client OAuth2 avec GS_OAUTH2_CLIENT_ID et GS_OAUTH2_CLIENT_SECRET.
    • GOOGLE_APPLICATION_CREDENTIALS : indiquez les identifiants de connexion OAuth2 du compte de service à l’aide d’un fichier .json contenant une clé privée et une adresse électronique du client.
    • GS_OAUTH2_ PRIVATE_KEY : indiquez les identifiants de connexion OAuth2 du compte de service avec une chaîne de clé privée. GS_AUTH2_CLIENT_EMAIL doit être défini.
    • GS_OAUTH2_ PRIVATE_KEY_FILE : indiquez les identifiants de connexion OAuth2 du compte de service avec une clé privée issue d’un fichier. GS_AUTH2_CLIENT_EMAIL doit être défini.
    • GS_AUTH2_CLIENT_EMAIL : indiquez les identifiants de connexion OAuth2 du compte de service avec une adresse électronique du client.
    • GS_AUTH2_SCOPE : indiquez la portée OAuth2 du compte de service. Les valeurs valides sont https://www.googleapis.com/auth/devstorage.read_write (par défaut) et https://www.googleapis.com/auth/devstorage.read_only.
    • GDAL_HTTP_HEADER_FILE : indiquez les identifiants de connexion d’authentification de porteur stockés dans un fichier externe.
  • Alibaba
    • OSS_Virtual_Hosting (valeur par défaut : True) : si vous utilisez des fournisseurs de Cloud compatibles avec Alibaba ou S3 et qui ne prennent en charge que des requêtes de type chemin d’accès, définissez cette option sur True. Il est recommandé d’utiliser l’hébergement virtuel s’il est pris en charge.
    • OSS_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • WebHDFS
    • WEBHDFS_REPLICATION (nombre entier) : la valeur de réplication est utilisée pour créer un fichier.
    • WEBHDFS_PERMISSION (décimale) : une marque d’autorisation est utilisée pour créer un fichier.

Si plusieurs paramètres d’authentification sont fournis, la précédente est la suivante :

  • Azure : AZURE_STORAGE_CONNECTION_STRING, nom de compte ou clé, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon : AWS_NO_SIGN_REQUEST, ID ou clé d’accès, ou AWS_SESSION_TOKEN, Profil d’identifiants de connexion AWS, Rôle IAM.
  • Google : GS_NO_SIGN_REQUEST, ID ou clé d’accès, GDAL_HTTP_HEADER_FILE, (GS_OAUTH2_REFRESH_TOKEN or GS_OAUTH2_CLIENT_ID and GS_OAUTH2_CLIENT_SECRET), GOOGLE_APPLICATION_CREDENTIALS, (GS_OAUTH2_PRIVATE_KEY or GS_OAUTH2_CLIENT_EMAIL), (GS_OAUTH2_PRIVATE_KEY_FILE or GS_OAUTH2_CLIENT_EMAIL) ou IAM Role.

Outre les options de fournisseur répertoriées ci-dessus, il est possible d’utiliser l’option ARC_DEEP_CRAWL (valeur par défaut : True) avec tous les fournisseurs de services. Si elle est définie sur True, cette option permet d’identifier les fichiers CRF sans extension dans le Cloud. Il s’agit d’une opération de grande ampleur, qu’il est recommandé de définir sur False pour une analyse et une navigation plus rapides dans le catalogue.

Value Table
Dossier
(Facultatif)

Dossier indiqué par le paramètre Nom du compartiment (conteneur) dans lequel le jeu de données raster est stocké.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Fichier de connexion en sortie

Chemin d’accès du fichier de connexion au stockage cloud en sortie.

File

arcpy.management.CreateCloudStorageConnectionFile(out_folder_path, out_name, service_provider, bucket_name, {access_key_id}, {secret_access_key}, {region}, {end_point}, {config_options}, {folder})
NomExplicationType de données
out_folder_path

Chemin d’accès au dossier dans lequel le fichier est créé.

Folder
out_name

Nom du fichier de connexion au stockage cloud.

String
service_provider

Indique le fournisseur de services du stockage Cloud qui sera utilisé.

  • AZURELe fournisseur de services sera Microsoft Azure.
  • AMAZONLe fournisseur de services sera Amazon S3.
  • GOOGLELe fournisseur de services sera Google Cloud Storage.
  • ALIBABALe fournisseur de services sera Alibaba Cloud Storage.
  • WEBHDFSLe fournisseur de services sera WebHDFS.
  • MINIOLe fournisseur de services sera MinIO.
  • AZUREDATALAKELe fournisseur de services sera Azure Data Lake.
String
bucket_name

Nom du container du stockage cloud dans lequel le jeu de données raster est stocké. Pour de nombreux fournisseurs cloud, ce conteneur est également appelé paquet.

String
access_key_id
(Facultatif)

Chaîne d’ID de la clé d’accès correspondant au type de stockage cloud donné. Il peut également s’agir du nom du compte, comme avec Azure.

String
secret_access_key
(Facultatif)

Chaîne de la clé d’accès secrète qui permet d’authentifier la connexion au stockage cloud.

Encrypted String
region
(Facultatif)

Chaîne de la région du stockage cloud. Si elle est fournie, la valeur doit utiliser le format défini par le choix du stockage cloud. Par défaut, il s’agit du compte par défaut du fournisseur cloud sélectionné.

String
end_point
(Facultatif)

Extrémité du service (uris) du stockage cloud, comme oss-us-west-1.aliyuncs.com. Si aucune valeur n’est fournie, l’extrémité par défaut du type de stockage cloud sélectionné est utilisée. L’extrémité redirigée CNAME peut également être utilisée, le cas échéant.

String
config_options
[config_options,...]
(Facultatif)

Options de configuration inhérentes au type spécifique de service cloud. Certains services proposent des options et d’autres non. Vous devez définir ce paramètre uniquement si vous souhaitez activer les options.

  • Azure et Microsoft Azure Data Lake
    • AZURE_SAS : spécifiez une signature d’accès partagé. Assurez-vous que sa valeur est codée au format URL et ne contient pas de caractères de début « ? » ou « & ». Lors de l’utilisation de cette option, le paramètre Clé d’accès secrète (clé du compte) doit être vide.
    • AZURE_NO_SIGN_REQUEST (valeur par défaut : False) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié. Lorsque vous utilisez cette option, le champ du paramètre Clé d’accès secrète (clé de compte) doit être vide.
    • AZURE_STORAGE_CONNECTION_STRING : spécifie une chaîne de connexion Azure Storage. Cette chaîne incorpore le nom de compte, la clé et l’extrémité. Lorsque vous utilisez cette option, les paramètres ID de clé d’accès (nom de compte) et Clé d’accès secrète (clé de compte) doivent être vides.
    • CPL_AZURE_USE_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • Amazon et MinIO
    • AWS_NO_SIGN_REQUEST (valeur par défaut : False) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié.
    • AWS_SESSION_TOKEN : spécifie des identifiants de connexions temporaires.
    • AWS_DEFAULT_PROFILE : les profils d’identifiants de connexion AWS sont automatiquement utilisés si la clé d’accès ou l’ID est manquant. Cette option peut être utilisée pour spécifier le profil à utiliser.
    • AWS_REQUEST_PAYER : vous pouvez accéder aux compartiments Le demandeur paye en définissant cette option sur Demandeur.
    • AWS_Virtual_Hosting (valeur par défaut : True) : si vous utilisez des fournisseurs de Cloud compatibles avec Amazon S3 ou S3 et qui ne prennent en charge que des requêtes de type chemin d’accès, définissez cette option sur True. Il est recommandé d’utiliser l’hébergement virtuel s’il est pris en charge.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (valeur par défaut : True) : certaines anciennes implémentations compatibles avec S3 ne prennent pas en charge l’opération de suppression en bloc. Définissez cette option sur False pour ces fournisseurs.
    • AWS_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • Google
    • GS_NO_SIGN_REQUEST (valeur par défaut : True) : se connecte de manière anonyme aux compartiments (conteneurs) ne nécessitant pas d’accès authentifié.
    • GS_USER_PROJECT : vous pouvez accéder aux compartiments Le demandeur paye en définissant des clés OAuth2 et un projet à facturer. Vous pouvez spécifier le projet avec cette option ; vous devez définir des clés OAuth2 à l’aide d’autres options et ne pas utiliser les clés HMAC comme clé d’accès secrète ou comme ID.
    • GS_OAUTH2_REFRESH_TOKEN : Indiquez un Jeton d’accès d’actualisation OAuth2. Définissez les identifiants de connexion au client OAuth2 avec GS_OAUTH2_CLIENT_ID et GS_OAUTH2_CLIENT_SECRET.
    • GOOGLE_APPLICATION_CREDENTIALS : indiquez les identifiants de connexion OAuth2 du compte de service à l’aide d’un fichier .json contenant une clé privée et une adresse électronique du client.
    • GS_OAUTH2_ PRIVATE_KEY : indiquez les identifiants de connexion OAuth2 du compte de service avec une chaîne de clé privée. GS_AUTH2_CLIENT_EMAIL doit être défini.
    • GS_OAUTH2_ PRIVATE_KEY_FILE : indiquez les identifiants de connexion OAuth2 du compte de service avec une clé privée issue d’un fichier. GS_AUTH2_CLIENT_EMAIL doit être défini.
    • GS_AUTH2_CLIENT_EMAIL : indiquez les identifiants de connexion OAuth2 du compte de service avec une adresse électronique du client.
    • GS_AUTH2_SCOPE : indiquez la portée OAuth2 du compte de service. Les valeurs valides sont https://www.googleapis.com/auth/devstorage.read_write (par défaut) et https://www.googleapis.com/auth/devstorage.read_only.
    • GDAL_HTTP_HEADER_FILE : indiquez les identifiants de connexion d’authentification de porteur stockés dans un fichier externe.
  • Alibaba
    • OSS_Virtual_Hosting (valeur par défaut : True) : si vous utilisez des fournisseurs de Cloud compatibles avec Alibaba ou S3 et qui ne prennent en charge que des requêtes de type chemin d’accès, définissez cette option sur True. Il est recommandé d’utiliser l’hébergement virtuel s’il est pris en charge.
    • OSS_HTTPS (valeur par défaut : True) : définissez cette valeur sur False pour utiliser les requêtes HTTP. Il se peut que certains serveurs soient configurés pour ne prendre en charge que les requêtes HTTPS.
  • WebHDFS
    • WEBHDFS_REPLICATION (nombre entier) : la valeur de réplication est utilisée pour créer un fichier.
    • WEBHDFS_PERMISSION (décimale) : une marque d’autorisation est utilisée pour créer un fichier.

Si plusieurs paramètres d’authentification sont fournis, la précédente est la suivante :

  • Azure : AZURE_STORAGE_CONNECTION_STRING, nom de compte ou clé, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon : AWS_NO_SIGN_REQUEST, ID ou clé d’accès, ou AWS_SESSION_TOKEN, Profil d’identifiants de connexion AWS, Rôle IAM.
  • Google : GS_NO_SIGN_REQUEST, ID ou clé d’accès, GDAL_HTTP_HEADER_FILE, (GS_OAUTH2_REFRESH_TOKEN or GS_OAUTH2_CLIENT_ID and GS_OAUTH2_CLIENT_SECRET), GOOGLE_APPLICATION_CREDENTIALS, (GS_OAUTH2_PRIVATE_KEY or GS_OAUTH2_CLIENT_EMAIL), (GS_OAUTH2_PRIVATE_KEY_FILE or GS_OAUTH2_CLIENT_EMAIL) ou IAM Role.

Outre les options de fournisseur répertoriées ci-dessus, il est possible d’utiliser l’option ARC_DEEP_CRAWL (valeur par défaut : True) avec tous les fournisseurs de services. Si elle est définie sur True, cette option permet d’identifier les fichiers CRF sans extension dans le Cloud. Il s’agit d’une opération de grande ampleur, qu’il est recommandé de définir sur False pour une analyse et une navigation plus rapides dans le catalogue.

Value Table
folder
(Facultatif)

Dossier indiqué par le paramètre bucket_name dans lequel le jeu de données raster est stocké.

String

Sortie obtenue

NomExplicationType de données
out_connection

Chemin d’accès du fichier de connexion au stockage cloud en sortie.

File

Exemple de code

Exemple 1 d’utilisation de l’outil CreateCloudStorageConnectionFile (fenêtre Python)

Il s’agit d’un exemple Python d’utilisation de la fonction CreateCloudStorageConnectionFile.

#====================================
# CreateCloudStorageConnectionFile
# Usage:
# arcpy.management.CreateCloudStorageConnectionFile(
#     out_folder_path, out_name, AZURE | AMAZON | GOOGLE | ALIBABA, bucket_name,
#     {access_key_id}, {secret_access_key}, {region}, {end_point},
#     { {Name} {Value}; {Name} {Value}...})
# arcpy.management.CreateCloudStorageConnectionFile(
#     out_folder_path, out_name, AZURE | AMAZON | GOOGLE | ALIBABA, bucket_name,
#     {access_key_id}, {secret_access_key}, {region}, {end_point},
#     {config_options})

import arcpy

# Create connection to open public bucket with requester pay option
arcpy.management.CreateCloudStorageConnectionFile(
    "C:/Workspace/connections", "awss3storage.acs", "AMAZON", "publicrasterstore",
    config_options="AWS_REQUEST_PAYER requester")

# Create connection to secured Azure bucket
arcpy.management.CreateCloudStorageConnectionFile(
    "C:/Workspace/connections", "azurestorage.acs", "AZURE", "rasterstore", "imageaccount",
    "NOGEOU1238987OUOUNOQEWQWEIO")

# Create Alibaba connection with end points
arcpy.management.CreateCloudStorageConnectionFile(
    "C:/Workspace/connections", "aliyun.acs", "ALIBABA", "rasterstore", "AYOUER9273PJJNY",
"NOGEOU1238987OUOUNOQEWQWEIO", end_point="rasterstore.oss-us-west-1.aliyuncs.com")
Exemple 2 d’utilisation de l’outil CreateCloudStorageConnectionFile (script autonome)

Il s’agit d’un exemple Python d’utilisation de la fonction CreateCloudStorageConnectionFile.

#====================================
# CreateCloudStorageConnectionFile
# Usage:
# arcpy.management.CreateCloudStorageConnectionFile(
#     out_folder_path, out_name, AZURE | AMAZON | GOOGLE | ALIBABA, bucket_name,
#     {access_key_id}, {secret_access_key}, {region}, {end_point},
#     { {Name} {Value}; {Name} {Value}...})
# arcpy.management.CreateCloudStorageConnectionFile(
#     out_folder_path, out_name, AZURE | AMAZON | GOOGLE | ALIBABA, bucket_name,
#     {access_key_id}, {secret_access_key}, {region}, {end_point},
#     {config_options})

import arcpy

outfolder = "C:/Workspace/connections"
connectname = "googlecloudos.acs"
provider = "GOOGLE"
accesskey = "AYOUER9273PJJNY"
secretkey = "NOGEOU1238987OUOUNOQEWQWEIO"
bucketname = "rasterstore"

# Create connection to Google cloud object storage
arcpy.management.CreateCloudStorageConnectionFile(
outfolder, connectname, provider, bucketname, accesskey, secretkey)

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes