Verbindungsdatei für Cloud-Speicher erstellen (Data Management)

Zusammenfassung

Erstellt eine Verbindungsdatei für von ArcGIS unterstützte Cloud-Speicher. Mit diesem Werkzeug können vorhandene Raster-Geoverarbeitungswerkzeuge CRF-Datasets (Cloud-Raster-Format) in den Cloud-Speicher-Bucket schreiben oder Raster-Datasets als Eingabe lesen (nicht nur CRF), die im Cloud-Speicher gespeichert sind.

Verwendung

  • Zum Ausführen dieses Werkzeugs müssen Sie die erforderlichen Informationen für eine Cloud-Speicherverbindung angeben, beispielsweise einen Zugriffsschlüssel, einen geheimen Zugriffsschlüssel und einen Bucket-Namen.

  • Das Werkzeug gibt eine binäre Cloud-Speicherverbindungsdatei (.icsd) im ArcGIS-Cloud-Speicherformat aus.

  • Auf das im Cloud-Speicher gespeicherte Raster-Dataset kann über einen Dateipfad wie c:/temp/amazons3.acs/someraster verwiesen werden.

  • Dieses Werkzeug unterstützt Verbindungen mit Amazon Simple Storage Service (S3)-Buckets, Microsoft Azure Blob Storage-Containern, Alibaba Cloud Object Storage Service (OSS)-Buckets und Google Cloud Storage.

  • Wenn das Dataset in einem Ordner im Bucket gespeichert wird, muss der Ordnername im Pfad enthalten sein, z. B. c:/temp/amazons3.acs/foldername/someraster.

  • Das Werkzeug überprüft die angegebenen Anmeldeinformationen zur Laufzeit. Wenn die Verbindung nicht hergestellt werden kann, schlägt das Werkzeug fehl.

  • Um dieses Werkzeug mit der IAM-Rolle (Identity and Access Management) von Amazon Web Services (AWS) zu verwenden, lassen Sie die Parameter Zugriffsschlüssel-ID (Kontoname) und Geheimer Zugriffsschlüssel (Kontoschlüssel) leer. Wenn die IAM-Rolle bei der Ausführung dieses Werkzeugs auf einem Amazon Elastic Compute Cloud (EC2)-Computer ordnungsgemäß konfiguriert ist, wird eine Verbindung erfolgreich hergestellt. Diese Verbindungsdatei kann dann in derselben Umgebung verwendet werden.

Parameter

BeschriftungErläuterungDatentyp
Speicherort der Verbindungsdatei

Der Ordnerpfad, in dem die Verbindungsdatei erstellt wird.

Folder
Name der Verbindungsdatei

Der Name der Cloud-Speicherverbindungsdatei.

String
Service-Provider

Gibt den Service-Provider für den Cloud-Speicher an.

  • AzureDer Service-Provider ist Microsoft Azure.
  • AmazonDer Service-Provider ist Amazon S3.
  • GoogleDer Service-Provider ist Google Cloud Storage.
  • AlibabaDer Service-Provider ist Alibaba Cloud Storage.
  • WebHDFSDer Service-Provider ist WebHDFS.
  • MinIODer Service-Provider ist MinIO.
  • Azure Data LakeDer Service-Provider ist Azure Data Lake.
String
Name des Bucket (Containers)

Der Name des Cloud-Speichercontainers, in dem das Raster-Dataset gespeichert wird. Er wird von vielen Cloud-Anbietern auch als Bucket bezeichnet.

String
Zugriffsschlüssel-ID (Kontoname)
(optional)

Die Zeichenfolge der Zugriffsschlüssel-ID für den speziellen Cloud-Speichertyp. Dies kann auch der Kontoname sein, beispielsweise bei Azure.

String
Geheimer Zugriffsschlüssel (Kontoschlüssel)
(optional)

Die Zeichenfolge des geheimen Zugriffsschlüssels zur Authentifizierung der Verbindung mit dem Cloud-Speicher.

Encrypted String
Region (Umgebung)
(optional)

Die Regionszeichenfolge für den Cloud-Speicher. Wird sie angegeben, muss der Wert das Format aufweisen, das vom ausgewählten Cloud-Speicher definiert wird. Der Standard ist das Standardkonto des ausgewählten Cloud-Providers.

String
Service-Endpunkt
(optional)

Die Service-Endpunkte (URIs) des Cloud-Speichers, z. B. oss-us-west-1.aliyuncs.com. Wenn ein Wert nicht angegeben wird, wird der Standardendpunkt des ausgewählten Cloud-Speichertyps verwendet. Bei Bedarf kann auch der umgeleitete CNAME-Endpunkt verwendet werden.

String
Provider-Optionen
(optional)

Die Konfigurationsoptionen, die zum jeweiligen Typ von Cloud-Service gehören. Nicht alle Services bieten Optionen an. Sie müssen die Option nur festlegen, wenn Sie sie aktivieren möchten.

Die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) ist für Amazon- und Azure-Cloud-Provider verfügbar. Indem alle Authentifizierungsparameter während der Verwendung einer virtuellen EC2- oder Azure-Maschine leer gelassen werden, kann ArcGIS Pro mithilfe von IAM-Rollen oder Azure RBAC auf BLOB-Speicher zugreifen. Bei Amazon werden IMDSv1 und IMDSv2 unterstützt.

Microsoft Azure Data Lake Storage Gen2 bietet dieselben Optionen wie Azure, stellt jedoch mithilfe eines DFS-Endpunktes tatsächliche Verzeichnisunterstützung und atomische Vorgänge bereit. Bei einigen Netzwerkfehlern in Cloud-Vorgängen werden gemäß dem exponentiellen Backoff Wiederholungsversuche durchgeführt.

Überlegungen zur Performance sowie zusätzliche Informationen finden Sie in der Dokumentation zu virtuellen GDAL-Dateisystemen.

  • Azure / Microsoft Azure Data Lake
    • AZURE_SAS: Geben Sie eine Shared Access Signature an. Stellen Sie sicher, dass der Wert URL-codiert ist und keine führenden ?- oder &-Zeichen enthält. Wenn Sie diese Option verwenden, muss der Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • AZURE_NO_SIGN_REQUEST (Standardeinstellung: FALSE): Stellen Sie eine anonyme Verbindung zu Buckets (Containern) her, die keinen authentifizierten Zugriff erfordern. Wenn Sie diese Option verwenden, muss der Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • AZURE_STORAGE_CONNECTION_STRING: Geben Sie eine Azure-Speicher-Verbindungszeichenfolge an. Diese Verbindungszeichenfolge bettet den Kontonamen, den Schlüssel sowie den Endpunkt ein. Wenn Sie diese Option verwenden, müssen die Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) und Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • CPL_AZURE_USE_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf FALSE, um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • Amazon/MinIO
    • AWS_NO_SIGN_REQUEST (Standardeinstellung: FALSE): Stellen Sie eine anonyme Verbindung zu Buckets (Containern) her, die keinen authentifizierten Zugriff erfordern.
    • AWS_SESSION_TOKEN: Geben Sie temporäre Anmeldeinformationen an.
    • AWS_DEFAULT_PROFILE: AWS-Anmeldeprofile werden automatisch verwendet, wenn der Zugriffsschlüssel/die ID fehlt. Diese Option kann verwendet werden, um das zu verwendende Profil anzugeben.
    • AWS_REQUEST_PAYER: Auf Buckets mit Zahlung durch den Anforderer kann zugegriffen werden, indem diese Option auf den Anforderer gesetzt wird.
    • AWS_Virtual_Hosting (Standardeinstellung: TRUE): Amazon S3 und mit S3 kompatible Cloud-Provider, die nur pfadabhängige Anforderungen unterstützen, müssen diese Option auf TRUE setzen. Die Verwendung von virtuellem Hosting wird empfohlen, sofern es unterstützt wird.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (Standardeinstellung: TRUE): Einige ältere mit S3 kompatible Implementierungen unterstützen den Vorgang für gleichzeitiges Löschen nicht. Setzen Sie diese Option bei diesen Providern auf "FALSE".
    • AWS_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf "FALSE", um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • Alibaba
    • OSS_Virtual_Hosting (Standardeinstellung: TRUE): Alibaba und mit S3 kompatible Cloud-Provider, die nur pfadabhängige Anforderungen unterstützen, müssen diese Option auf "TRUE" setzen. Die Verwendung von virtuellem Hosting wird empfohlen, sofern es unterstützt wird.
    • OSS_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf "FALSE", um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • WebHDFS
    • WEBHDFS_REPLICATION (ganze Zahl): Dieser Replikationswert wird beim Erstellen einer Datei verwendet.
    • WEBHDFS_PERMISSION (Dezimalzahl): Beim Erstellen einer Datei wird eine Berechtigungsmaske verwendet.

Wenn mehrere Authentifizierungsparameter bereitgestellt werden, gilt diese Rangfolge:

  • Azure: AZURE_STORAGE_CONNECTION_STRING, Kontoname/Schlüssel, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon: AWS_NO_SIGN_REQUEST, Zugriffs-ID/Schlüssel und/oder AWS_SESSION_TOKEN, AWS-Anmeldeprofil, IAM-Rolle.

Im Gegensatz zu den oben aufgeführten Provider-Optionen kann diese Option ARC_DEEP_CRAWL (Standardeinstellung:TRUE) mit allen Service-Providern verwendet werden. Bei "True" werden mit dieser Option CRFs ohne Erweiterung in der Cloud identifiziert. Dies ist ein kostenintensiver Vorgang, und es wird dringend empfohlen, diese Option auf "FALSE" zu setzen, um das Durchsuchen des Katalogs und das Durchforsten zu beschleunigen.

Value Table
Ordner
(optional)

Der im Parameter Name des Buckets (Container) angegebene Ordner, in dem das Raster-Dataset gespeichert wird.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabeverbindungsdatei

Der Ausgabepfad der Cloud-Speicherverbindungsdatei.

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})
NameErläuterungDatentyp
out_folder_path

Der Ordnerpfad, in dem die Verbindungsdatei erstellt wird.

Folder
out_name

Der Name der Cloud-Speicherverbindungsdatei.

String
service_provider

Gibt den Service-Provider für den Cloud-Speicher an.

  • AZUREDer Service-Provider ist Microsoft Azure.
  • AMAZONDer Service-Provider ist Amazon S3.
  • GOOGLEDer Service-Provider ist Google Cloud Storage.
  • ALIBABADer Service-Provider ist Alibaba Cloud Storage.
  • WEBHDFSDer Service-Provider ist WebHDFS.
  • MINIODer Service-Provider ist MinIO.
  • AZUREDATALAKEDer Service-Provider ist Azure Data Lake.
String
bucket_name

Der Name des Cloud-Speichercontainers, in dem das Raster-Dataset gespeichert wird. Er wird von vielen Cloud-Anbietern auch als Bucket bezeichnet.

String
access_key_id
(optional)

Die Zeichenfolge der Zugriffsschlüssel-ID für den speziellen Cloud-Speichertyp. Dies kann auch der Kontoname sein, beispielsweise bei Azure.

String
secret_access_key
(optional)

Die Zeichenfolge des geheimen Zugriffsschlüssels zur Authentifizierung der Verbindung mit dem Cloud-Speicher.

Encrypted String
region
(optional)

Die Regionszeichenfolge für den Cloud-Speicher. Wird sie angegeben, muss der Wert das Format aufweisen, das vom ausgewählten Cloud-Speicher definiert wird. Der Standard ist das Standardkonto des ausgewählten Cloud-Providers.

String
end_point
(optional)

Die Service-Endpunkte (URIs) des Cloud-Speichers, z. B. oss-us-west-1.aliyuncs.com. Wenn ein Wert nicht angegeben wird, wird der Standardendpunkt des ausgewählten Cloud-Speichertyps verwendet. Bei Bedarf kann auch der umgeleitete CNAME-Endpunkt verwendet werden.

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

Die Konfigurationsoptionen, die zum jeweiligen Typ von Cloud-Service gehören. Nicht alle Services bieten Optionen an. Sie müssen die Option nur festlegen, wenn Sie sie aktivieren möchten.

Die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) ist für Amazon- und Azure-Cloud-Provider verfügbar. Indem alle Authentifizierungsparameter während der Verwendung einer virtuellen EC2- oder Azure-Maschine leer gelassen werden, kann ArcGIS Pro mithilfe von IAM-Rollen oder Azure RBAC auf BLOB-Speicher zugreifen. Bei Amazon werden IMDSv1 und IMDSv2 unterstützt.

Microsoft Azure Data Lake Storage Gen2 bietet dieselben Optionen wie Azure, stellt jedoch mithilfe eines DFS-Endpunktes tatsächliche Verzeichnisunterstützung und atomische Vorgänge bereit. Bei einigen Netzwerkfehlern in Cloud-Vorgängen werden gemäß dem exponentiellen Backoff Wiederholungsversuche durchgeführt.

Überlegungen zur Performance sowie zusätzliche Informationen finden Sie in der Dokumentation zu virtuellen GDAL-Dateisystemen.

  • Azure / Microsoft Azure Data Lake
    • AZURE_SAS: Geben Sie eine Shared Access Signature an. Stellen Sie sicher, dass der Wert URL-codiert ist und keine führenden ?- oder &-Zeichen enthält. Wenn Sie diese Option verwenden, muss der Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • AZURE_NO_SIGN_REQUEST (Standardeinstellung: FALSE): Stellen Sie eine anonyme Verbindung zu Buckets (Containern) her, die keinen authentifizierten Zugriff erfordern. Wenn Sie diese Option verwenden, muss der Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • AZURE_STORAGE_CONNECTION_STRING: Geben Sie eine Azure-Speicher-Verbindungszeichenfolge an. Diese Verbindungszeichenfolge bettet den Kontonamen, den Schlüssel sowie den Endpunkt ein. Wenn Sie diese Option verwenden, müssen die Parameter Geheimer Zugriffsschlüssel (Kontoschlüssel) und Geheimer Zugriffsschlüssel (Kontoschlüssel) leer sein.
    • CPL_AZURE_USE_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf FALSE, um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • Amazon/MinIO
    • AWS_NO_SIGN_REQUEST (Standardeinstellung: FALSE): Stellen Sie eine anonyme Verbindung zu Buckets (Containern) her, die keinen authentifizierten Zugriff erfordern.
    • AWS_SESSION_TOKEN: Geben Sie temporäre Anmeldeinformationen an.
    • AWS_DEFAULT_PROFILE: AWS-Anmeldeprofile werden automatisch verwendet, wenn der Zugriffsschlüssel/die ID fehlt. Diese Option kann verwendet werden, um das zu verwendende Profil anzugeben.
    • AWS_REQUEST_PAYER: Auf Buckets mit Zahlung durch den Anforderer kann zugegriffen werden, indem diese Option auf den Anforderer gesetzt wird.
    • AWS_Virtual_Hosting (Standardeinstellung: TRUE): Amazon S3 und mit S3 kompatible Cloud-Provider, die nur pfadabhängige Anforderungen unterstützen, müssen diese Option auf TRUE setzen. Die Verwendung von virtuellem Hosting wird empfohlen, sofern es unterstützt wird.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (Standardeinstellung: TRUE): Einige ältere mit S3 kompatible Implementierungen unterstützen den Vorgang für gleichzeitiges Löschen nicht. Setzen Sie diese Option bei diesen Providern auf "FALSE".
    • AWS_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf "FALSE", um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • Alibaba
    • OSS_Virtual_Hosting (Standardeinstellung: TRUE): Alibaba und mit S3 kompatible Cloud-Provider, die nur pfadabhängige Anforderungen unterstützen, müssen diese Option auf "TRUE" setzen. Die Verwendung von virtuellem Hosting wird empfohlen, sofern es unterstützt wird.
    • OSS_HTTPS (Standardeinstellung: TRUE): Setzen Sie diese Option auf "FALSE", um HTTP-Anforderungen zu verwenden. Beachten Sie, dass einige Server möglicherweise so konfiguriert sind, dass sie ausschließlich HTTPS-Anforderungen unterstützen.
  • WebHDFS
    • WEBHDFS_REPLICATION (ganze Zahl): Dieser Replikationswert wird beim Erstellen einer Datei verwendet.
    • WEBHDFS_PERMISSION (Dezimalzahl): Beim Erstellen einer Datei wird eine Berechtigungsmaske verwendet.

Wenn mehrere Authentifizierungsparameter bereitgestellt werden, gilt diese Rangfolge:

  • Azure: AZURE_STORAGE_CONNECTION_STRING, Kontoname/Schlüssel, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon: AWS_NO_SIGN_REQUEST, Zugriffs-ID/Schlüssel und/oder AWS_SESSION_TOKEN, AWS-Anmeldeprofil, IAM-Rolle.

Im Gegensatz zu den oben aufgeführten Provider-Optionen kann diese Option ARC_DEEP_CRAWL (Standardeinstellung:TRUE) mit allen Service-Providern verwendet werden. Bei "True" werden mit dieser Option CRFs ohne Erweiterung in der Cloud identifiziert. Dies ist ein kostenintensiver Vorgang, und es wird dringend empfohlen, diese Option auf "FALSE" zu setzen, um das Durchsuchen des Katalogs und das Durchforsten zu beschleunigen.

Value Table
folder
(optional)

Der im Parameter bucket_name angegebene Ordner, in dem das Raster-Dataset gespeichert wird.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_connection

Der Ausgabepfad der Cloud-Speicherverbindungsdatei.

File

Codebeispiel

CreateCloudStorageConnectionFile – Beispiel 1 (Python-Fenster)

Dies ist ein Python-Beispiel für die Funktion 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")
CreateCloudStorageConnectionFile – Beispiel 2 (eigenständiges Skript)

Dies ist ein Python-Beispiel für die Funktion 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)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen