Создать файл подключения к облачному хранилищу (Управление данными)

Краткая информация

Создает файл подключения к облачному хранилищу, поддерживаемому ArcGIS. Этот инструмент позволяет имеющимся растровым инструментам геообработки записывать наборы данных в формате облачных растров (CRF) в облачное хранилище или использовать в качестве входящих данных наборы растровых данных (не только CRF), хранящиеся в облаке.

Использование

  • Вы должны предоставить необходимую информацию для подключения к облачному хранилищу, такую как Ключ доступа, Секретный ключ доступа и Имя бакета, чтобы запустить этот инструмент. Вы также можете использовать альтернативные методы аутентификации на основании параметра Опции провайдера.

    Более подробно о подключении к облачному хранилищу

  • На выходе инструмента создается двоичный файл подключения к облачному хранилищу (.acs) в формате ArcGIS Cloud Storage.

  • Набор растровых данных хранящийся в облаке, можно использовать через файл пути, такой как c:/temp/amazons3.acs/someraster.

  • Этот инструмент поддерживает подключения к бакетам Amazon Simple Storage Service (S3), контейнерам хранения BLOB-объектов Microsoft Azure, хранилищу Gen2 Microsoft Azure Data Lake, бакетам Alibaba Cloud Object Storage Service (OSS), бакетам сервиса облачного хранилища (GCS) Google, WebHDFS, и бакетам сервиса хранилища объектов MinIO.

  • Если набор данных хранится в папке в бакете, ее имя должно быть включено в путь, например, c:/temp/amazons3.acs/foldername/someraster.

  • Инструмент проверяет указанные учетные данные во время работы. Если подключение установить не удается, инструмент завершает работу с ошибкой.

  • Управление доступом на основе ролей (RBAC) доступно для облачных провайдеров Amazon, Azure и Google. Если оставить все параметры аутентификации пустыми при использовании виртуальной машины EC2, Azure или Google, механизм расчета сможет активировать в ArcGIS Pro доступ к хранилищу BLOB-объектов с использованием ролей IAM или Azure RBAC. Для Amazon поддерживаются IMDSv1 и IMDSv2.

    Microsoft Azure Data Lake Storage Gen2 использует те же опции, что и Azure, но обеспечивает надежную поддержку каталогов и элементарные операции с использованием конечной точки DFS. Некоторые сетевые ошибки во время облачных операций повторно выполняются после экспоненциальной задержки.

    Чтобы узнать о производительности и получить дополнительную информацию, см. документацию по виртуальным файловым системам GDAL.

Параметры

ПодписьОписаниеТип данных
Местоположение файла подключения

Путь к папке, где будет создан файл подключения.

Folder
Имя файла подключения

Имя файла подключения к облачному хранилищу.

String
Провайдер сервиса

Указывается используемый провайдер сервиса облачного хранения.

  • AzureПоставщиком услуг будет Microsoft Azure.
  • AmazonПоставщиком услуг будет Amazon S3.
  • GoogleПоставщиком услуг будет Google Cloud Storage.
  • AlibabaПоставщиком услуг будет Alibaba Cloud Storage.
  • WebHDFSПоставщиком услуг будет WebHDFS.
  • MinIOПоставщиком услуг будет MinIO.
  • Azure Data LakeПровайдер сервиса будет Azure Data Lake.
String
Имя бакета (контейнера)

Имя контейнера облачного хранилища, где будет находиться набор данных. Многие облачные провайдеры также называют это бакетом.

String
Access Key ID (Имя учетной записи)
(Дополнительный)

Строка ID ключа доступа для определенных типов облачных хранилищ. Это также может быть имя учетной записи, как в случае с Azure.

String
Secret Access Key (Ключ учетной записи)
(Дополнительный)

Строка секретного ключа доступа для аутентификации подключения к облачному хранилищу.

Encrypted String
Регион (Среда)
(Дополнительный)

Строка региона облачного хранилища. Если используется, необходимо значение в формате, определяемым сервисом облачного хранилища. По умолчанию используется учетная запись выбранного облачного провайдера по умолчанию.

String
Конечная точка сервиса
(Дополнительный)

Конечная точка сервиса (uris) облачного хранилища, например, oss-us-west-1.aliyuncs.com. Если значение не указано, будет использоваться конечная точка по умолчанию для выбранного типа облачного хранилища. При необходимости также можно использовать перенаправленную конечную точку CNAME.

String
Опции провайдера
(Дополнительный)

Параметры конфигурации, относящиеся к определенному типу облачного сервиса. У некоторых сервисов имеются такие опции, у других - нет. Вам необходимо указать этот параметр, если вы хотите включить эти опции.

  • Azure и Microsoft Azure Data Lake
    • AZURE_SAS - укажите подпись общего доступа. Убедитесь, что значение закодировано в URL-адресе и не содержит начальных символов '?' или '&'. При использовании этой опции параметр Секретный ключ доступа (Ключ учетной записи) должен быть пустым.
    • AZURE_NO_SIGN_REQUEST (по умолчанию: False) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа. При использовании этой опции параметр Секретный ключ доступа (Ключ учетной записи) должен быть пустым.
    • AZURE_STORAGE_CONNECTION_STRING - Укажите строку подключения к хранилищу Azure. Эта строка включает имя учетной записи, ключ и конечную точку. При использовании этой опции параметры ID ключа доступа (Имя учетной записи) и Секретный ключ доступа (Ключ учетной записи) должны быть пустыми.
    • CPL_AZURE_USE_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • Amazon и MinIO
    • AWS_NO_SIGN_REQUEST (по умолчанию: False) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа.
    • AWS_SESSION_TOKEN - Укажите временные учетные данные.
    • AWS_DEFAULT_PROFILE - Профили учетных данных AWS используются автоматически при отсутствии Ключа/Идентификатора доступа. Эта опция может использоваться для указания используемого профиля.
    • AWS_REQUEST_PAYER - Получить доступ к бакетам "Платит запрашивающий" можно, установив эту опцию в значение запрашивающего.
    • AWS_Virtual_Hosting (по умолчанию: True) - если вы используете Amazon S3 или S3-совместимые облачные провайдеры, поддерживающие только запросы path-style, необходимо установить для этой опции значение True. Рекомендуется использовать виртуальный хостинг, если он поддерживается.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (по умолчанию: True) - некоторые старые реализации, совместимые с S3, не поддерживают операцию массового удаления. Этим провайдерам установите для данной опции значение False.
    • AWS_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • Google
    • GS_NO_SIGN_REQUEST (по умолчанию: True) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа.
    • GS_USER_PROJECT - получить доступ к бакетам "Платит запрашивающий" можно, установив ключи OAuth2 и проект для платежа. Этот проект можно указать через эту опцию, и ключи OAuth2 должны быть установлены с использованием других опций и не использовать ключи HMAC в качестве секретного ключа или ID.
    • GS_OAUTH2_REFRESH_TOKEN - указывает Обновить токен обновления OAuth 2.0 Установите учетные данные клиента OAuth2 с помощью GS_OAUTH2_CLIENT_ID и GS_OAUTH2_CLIENT_SECRET.
    • GOOGLE_APPLICATION_CREDENTIALS — укажите учетные данные Учетной записи сервиса OAuth2 с помощью файла .json, содержащего ключ безопасности и email клиента.
    • GS_OAUTH2_ PRIVATE_KEY — укажите учетные данные Учетной записи сервиса OAuth2 с помощью строки ключа безопасности. Необходимо установить GS_AUTH2_CLIENT_EMAIL.
    • GS_OAUTH2_ PRIVATE_KEY_FILE — укажите учетные данные Учетной записи сервиса OAuth2 с помощью ключа безопасности из файла. Необходимо установить GS_AUTH2_CLIENT_EMAIL.
    • GS_AUTH2_CLIENT_EMAIL — укажите учетные данные Учетной записи сервиса OAuth2 с помощью email клиента.
    • GS_AUTH2_SCOPE — укажите область применения Учетной записи сервиса OAuth2. Корректные значения https://www.googleapis.com/auth/devstorage.read_write (по умолчанию) и https://www.googleapis.com/auth/devstorage.read_only.
    • GDAL_HTTP_HEADER_FILE - укажите учетные данные для аутентификации на предъявителя, хранящиеся во внешнем файле.
  • Alibaba
    • OSS_Virtual_Hosting (по умолчанию: True) - если вы используете Alibaba или S3-совместимые облачные провайдеры, поддерживающие только запросы path-style, необходимо установить для этой опции значение True. Рекомендуется использовать виртуальный хостинг, если он поддерживается.
    • OSS_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • WebHDFS
    • WEBHDFS_REPLICATION (целое число) - значение репликации используется при создании файла
    • WEBHDFS_PERMISSION (десятичное число) - маска прав доступа используется при создании файла

Если предоставлено несколько параметров аутентификации, приоритет будет следующим:

  • Azure - AZURE_STORAGE_CONNECTION_STRING, имя/ключ учетной записи, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon - AWS_NO_SIGN_REQUEST, идентификатор/ключ доступа и/или AWS_SESSION_TOKEN, профиль учетных данных AWS, роль IAM.
  • GoogleGS_NO_SIGN_REQUEST, ID/ключ доступа, 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) или IAM Role.

Помимо перечисленных выше опций провайдеров, опция ARC_DEEP_CRAWL (по умолчанию: True) может использоваться со всеми провайдерами сервисов. В случае True, она используется для идентификации CRF, без расширения в облаке. Это дорогостоящая операция, и настоятельно рекомендуется установить для этого параметра значение Falce, чтобы ускорить просмотр и сканирование каталогов.

Value Table
Папка
(Дополнительный)

Папка в параметре Bucket (Container) Name, в которой будет храниться набор растровых данных.

String

Производные выходные данные

ПодписьОписаниеТип данных
Выходной файл подключения

Путь к выходному файлу подключения к облачному хранилищу.

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})
ИмяОписаниеТип данных
out_folder_path

Путь к папке, где будет создан файл подключения.

Folder
out_name

Имя файла подключения к облачному хранилищу.

String
service_provider

Указывается используемый провайдер сервиса облачного хранения.

  • AZUREПоставщиком услуг будет Microsoft Azure.
  • AMAZONПоставщиком услуг будет Amazon S3.
  • GOOGLEПоставщиком услуг будет Google Cloud Storage.
  • ALIBABAПоставщиком услуг будет Alibaba Cloud Storage.
  • WEBHDFSПоставщиком услуг будет WebHDFS.
  • MINIOПоставщиком услуг будет MinIO.
  • AZUREDATALAKEПровайдер сервиса будет Azure Data Lake.
String
bucket_name

Имя контейнера облачного хранилища, где будет находиться набор данных. Многие облачные провайдеры также называют это бакетом.

String
access_key_id
(Дополнительный)

Строка ID ключа доступа для определенных типов облачных хранилищ. Это также может быть имя учетной записи, как в случае с Azure.

String
secret_access_key
(Дополнительный)

Строка секретного ключа доступа для аутентификации подключения к облачному хранилищу.

Encrypted String
region
(Дополнительный)

Строка региона облачного хранилища. Если используется, необходимо значение в формате, определяемым сервисом облачного хранилища. По умолчанию используется учетная запись выбранного облачного провайдера по умолчанию.

String
end_point
(Дополнительный)

Конечная точка сервиса (uris) облачного хранилища, например, oss-us-west-1.aliyuncs.com. Если значение не указано, будет использоваться конечная точка по умолчанию для выбранного типа облачного хранилища. При необходимости также можно использовать перенаправленную конечную точку CNAME.

String
config_options
[config_options,...]
(Дополнительный)

Параметры конфигурации, относящиеся к определенному типу облачного сервиса. У некоторых сервисов имеются такие опции, у других - нет. Вам необходимо указать этот параметр, если вы хотите включить эти опции.

  • Azure и Microsoft Azure Data Lake
    • AZURE_SAS - укажите подпись общего доступа. Убедитесь, что значение закодировано в URL-адресе и не содержит начальных символов '?' или '&'. При использовании этой опции параметр Секретный ключ доступа (Ключ учетной записи) должен быть пустым.
    • AZURE_NO_SIGN_REQUEST (по умолчанию: False) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа. При использовании этой опции параметр Секретный ключ доступа (Ключ учетной записи) должен быть пустым.
    • AZURE_STORAGE_CONNECTION_STRING - Укажите строку подключения к хранилищу Azure. Эта строка включает имя учетной записи, ключ и конечную точку. При использовании этой опции параметры ID ключа доступа (Имя учетной записи) и Секретный ключ доступа (Ключ учетной записи) должны быть пустыми.
    • CPL_AZURE_USE_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • Amazon и MinIO
    • AWS_NO_SIGN_REQUEST (по умолчанию: False) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа.
    • AWS_SESSION_TOKEN - Укажите временные учетные данные.
    • AWS_DEFAULT_PROFILE - Профили учетных данных AWS используются автоматически при отсутствии Ключа/Идентификатора доступа. Эта опция может использоваться для указания используемого профиля.
    • AWS_REQUEST_PAYER - Получить доступ к бакетам "Платит запрашивающий" можно, установив эту опцию в значение запрашивающего.
    • AWS_Virtual_Hosting (по умолчанию: True) - если вы используете Amazon S3 или S3-совместимые облачные провайдеры, поддерживающие только запросы path-style, необходимо установить для этой опции значение True. Рекомендуется использовать виртуальный хостинг, если он поддерживается.
    • CPL_VSIS3_USE_BASE_RMDIR_RECURSIVE (по умолчанию: True) - некоторые старые реализации, совместимые с S3, не поддерживают операцию массового удаления. Этим провайдерам установите для данной опции значение False.
    • AWS_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • Google
    • GS_NO_SIGN_REQUEST (по умолчанию: True) - анонимное подключение к бакетам (контейнерам), не требующим аутентифицированного доступа.
    • GS_USER_PROJECT - получить доступ к бакетам "Платит запрашивающий" можно, установив ключи OAuth2 и проект для платежа. Этот проект можно указать через эту опцию, и ключи OAuth2 должны быть установлены с использованием других опций и не использовать ключи HMAC в качестве секретного ключа или ID.
    • GS_OAUTH2_REFRESH_TOKEN - указывает Обновить токен обновления OAuth 2.0 Установите учетные данные клиента OAuth2 с помощью GS_OAUTH2_CLIENT_ID и GS_OAUTH2_CLIENT_SECRET.
    • GOOGLE_APPLICATION_CREDENTIALS — укажите учетные данные Учетной записи сервиса OAuth2 с помощью файла .json, содержащего ключ безопасности и email клиента.
    • GS_OAUTH2_ PRIVATE_KEY — укажите учетные данные Учетной записи сервиса OAuth2 с помощью строки ключа безопасности. Необходимо установить GS_AUTH2_CLIENT_EMAIL.
    • GS_OAUTH2_ PRIVATE_KEY_FILE — укажите учетные данные Учетной записи сервиса OAuth2 с помощью ключа безопасности из файла. Необходимо установить GS_AUTH2_CLIENT_EMAIL.
    • GS_AUTH2_CLIENT_EMAIL — укажите учетные данные Учетной записи сервиса OAuth2 с помощью email клиента.
    • GS_AUTH2_SCOPE — укажите область применения Учетной записи сервиса OAuth2. Корректные значения https://www.googleapis.com/auth/devstorage.read_write (по умолчанию) и https://www.googleapis.com/auth/devstorage.read_only.
    • GDAL_HTTP_HEADER_FILE - укажите учетные данные для аутентификации на предъявителя, хранящиеся во внешнем файле.
  • Alibaba
    • OSS_Virtual_Hosting (по умолчанию: True) - если вы используете Alibaba или S3-совместимые облачные провайдеры, поддерживающие только запросы path-style, необходимо установить для этой опции значение True. Рекомендуется использовать виртуальный хостинг, если он поддерживается.
    • OSS_HTTPS (по умолчанию: True) - установите False, чтобы использовать запросы HTTP. Некоторые серверы могут быть настроены только для поддержки запросов HTTPS.
  • WebHDFS
    • WEBHDFS_REPLICATION (целое число) - значение репликации используется при создании файла
    • WEBHDFS_PERMISSION (десятичное число) - маска прав доступа используется при создании файла

Если предоставлено несколько параметров аутентификации, приоритет будет следующим:

  • Azure - AZURE_STORAGE_CONNECTION_STRING, имя/ключ учетной записи, AZURE_SAS, AZURE_NO_SIGN_REQUEST, RBAC.
  • Amazon - AWS_NO_SIGN_REQUEST, идентификатор/ключ доступа и/или AWS_SESSION_TOKEN, профиль учетных данных AWS, роль IAM.
  • GoogleGS_NO_SIGN_REQUEST, ID/ключ доступа, 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) или IAM Role.

Помимо перечисленных выше опций провайдеров, опция ARC_DEEP_CRAWL (по умолчанию: True) может использоваться со всеми провайдерами сервисов. В случае True, она используется для идентификации CRF, без расширения в облаке. Это дорогостоящая операция, и настоятельно рекомендуется установить для этого параметра значение Falce, чтобы ускорить просмотр и сканирование каталогов.

Value Table
folder
(Дополнительный)

Папка в параметре bucket_name, в которой будет храниться набор растровых данных.

String

Производные выходные данные

ИмяОписаниеТип данных
out_connection

Путь к выходному файлу подключения к облачному хранилищу.

File

Пример кода

CreateCloudStorageConnectionFile, пример 1 (окно Python)

Пример скрипта Python для функции 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, пример 2 (автономный скрипт)

Пример скрипта Python для функции 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)

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы