Spec-Zone.ru › Ansible

Модуль azure.azcollection.azure_rm_storageblob — управление контейнерами и объектами Blob

Примечание

Этот модуль входит в коллекцию azure.azcollection (версия 3.18.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install azure.azcollection. Для работы с этим модулем необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: azure.azcollection.azure_rm_storageblob.

Добавлен в azure.azcollection 0.0.1

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создание, обновление и удаление контейнеров и объектов Blob.
  • Загрузка файла и сохранение его в виде объекта Blob либо скачивание объекта Blob в файл (режим загрузки и скачивания).
  • Загрузка набора файлов из указанного каталога (пакетный режим загрузки).
  • Загрузка объекта Blob напрямую из веб-URL (source_url), что позволяет выполнять копирование на стороне сервера из источников HTTP/HTTPS.
  • В пакетном режиме загрузки существующий объект Blob будет перезаписан, если создаётся объект Blob с таким же именем.
  • Модуль работает строго в одном из трёх режимов: если задан batch_upload_src, он работает в пакетном режиме загрузки; если задан src, он работает в режиме загрузки; если задан dst, он работает в режиме скачивания.

Требования

На хосте, выполняющем этот модуль, необходимо следующее.

  • python >= 2.7
  • На хосте, выполняющем этот модуль, должна быть установлена коллекция azure.azcollection через Galaxy
  • Все пакеты Python, перечисленные в requirements.txt коллекции, должны быть установлены через pip на хосте, выполняющем модули из azure.azcollection
  • Полные инструкции по установке доступны по адресу https://galaxy.ansible.com/azure/azcollection

Параметры

Параметр

Комментарии

ad_user

строка

Имя пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта-службы.

adfs_authority_url

строка

добавлено в azure.azcollection 0.0.1

URL-адрес центра сертификации Azure AD. Используйте при аутентификации с именем пользователя и паролем, если у вас есть собственный центр сертификации ADFS.

api_profile

строка

добавлено в azure.azcollection 0.0.1

Выбирает профиль API для взаимодействия со службами Azure. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать Azure Stack.

По умолчанию: "latest"

append_tags

логический

Определяет, является ли поле тегов каноническим или только добавляет значения к существующим тегам.

Если поле является каноническим, все теги, отсутствующие в параметре tags, будут удалены из метаданных объекта.

Варианты:

  • false
  • true ← (по умолчанию)

auth_mode

строка

добавлено в azure.azcollection 1.19.0

Режим выполнения команды. Режим login будет напрямую использовать ваши учетные данные для аутентификации.

Устаревший режим key попытается запросить ключ учетной записи, если параметры аутентификации для учетной записи не заданы.

Также можно задать с помощью переменной среды AZURE_STORAGE_AUTH_MODE.

Варианты:

  • "key" ← (по умолчанию)
  • "login"

auth_source

строка

добавлено в azure.azcollection 0.0.1

Определяет источник учетных данных для аутентификации.

Также можно задать с помощью переменной среды ANSIBLE_AZURE_AUTH_SOURCE.

Если задано значение auto (по умолчанию), применяется следующий порядок приоритета: параметры модуля -> env -> credential_file -> cli.

Если задано значение env, учетные данные считываются из переменных среды.

Если задано значение credential_file, профиль считывается из ~/.azure/credentials.

Если задано значение cli, учетные данные считываются из профиля Azure CLI. Для идентификации идентификатора подписки, если их несколько, можно использовать subscription_id или переменную среды AZURE_SUBSCRIPTION_ID; в противном случае используется подписка az cli по умолчанию.

Если задано значение msi, хост-компьютер должен быть ресурсом Azure с включенным расширением MSI. Для идентификации идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, можно использовать subscription_id или переменную среды AZURE_SUBSCRIPTION_ID; в противном случае выбирается первая подписка.

Параметр msi добавлен в Ansible 2.6.

Варианты:

  • "auto" ← (по умолчанию)
  • "cli"
  • "credential_file"
  • "env"
  • "msi"

batch_upload_dst

путь

Базовый каталог в контейнере при пакетной загрузке файлов.

batch_upload_src

путь

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

blob

псевдонимы: blob_name

строка

Имя объекта blob в контейнере.

blob_type

строка

добавлено в azure.azcollection 0.0.1

Тип объекта blob.

Варианты:

  • "block" ← (по умолчанию)
  • "page"

cache_control

строка

Задает заголовок cache-control для blob.

cert_validation_mode

строка

добавлено в azure.azcollection 0.0.1

Управляет проверкой сертификатов для конечных точек Azure. По умолчанию все модули проверяют сертификат сервера, однако при использовании HTTPS-прокси или Azure Stack может потребоваться отключить эту проверку, передав ignore. Значение также можно задать в профиле файла учетных данных или с помощью переменной среды AZURE_CERT_VALIDATION.

Варианты:

  • "ignore"
  • "validate"

client_id

строка

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы или управляемого удостоверения (msi).

Также можно задать с помощью переменной среды AZURE_CLIENT_ID.

cloud_environment

строка

добавлено в azure.azcollection 0.0.1

Для облачных сред, отличных от общедоступного облака США, укажите имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (обязателен для Azure Stack). Значение также можно задать в профиле файла учетных данных или с помощью переменной среды AZURE_CLOUD_ENVIRONMENT.

По умолчанию: "AzureCloud"

container

псевдонимы: container_name

строка / обязательный

Имя контейнера blob в учетной записи хранения.

content_disposition

строка

Задает заголовок content-disposition для blob.

content_encoding

строка

Задает заголовок кодировки для blob.

content_language

строка

Задает заголовок content-language для blob.

content_md5

строка

Задает значение хеша MD5 для blob.

content_type

строка

Задает заголовок content-type для blob. Например, image/png.

dest

псевдонимы: destination

путь

Путь к файлу назначения. Используйте с состоянием present, чтобы скачать blob.

disable_instance_discovery

логический

добавлено в azure.azcollection 2.3.0

Определяет, выполняется ли обнаружение экземпляра при попытке аутентификации. Если задать значение true, обнаружение экземпляра и проверка центра сертификации будут полностью отключены. Эта функция предназначена для использования в сценариях, когда невозможно обратиться к конечной точке метаданных, например в частных облаках или Azure Stack. Процесс обнаружения экземпляра включает получение метаданных центра сертификации с https://login.microsoft.com/ для проверки центра сертификации. Если задать значение **True**, проверка центра сертификации отключается. Поэтому крайне важно убедиться, что настроенный хост центра сертификации является действительным и заслуживающим доверия.

Задается в профиле файла учетных данных или с помощью переменной среды AZURE_DISABLE_INSTANCE_DISCOVERY.

Варианты:

  • false ← (по умолчанию)
  • true

force

логический

Перезаписывать существующий blob или файл при загрузке или скачивании. Принудительно удалять контейнер, содержащий blob.

Варианты:

  • false ← (по умолчанию)
  • true

log_mode

строка

Родительский аргумент.

log_path

строка

Родительский аргумент.

oidc_token

строка

добавлено в azure.azcollection 3.17.0

Токен OpenID Connect (OIDC) (JWT), используемый для аутентификации рабочей нагрузки.

Этот токен обменивается с Azure AD с помощью федеративного удостоверения OIDC.

Полезен в системах CI (например, GitHub Actions, Azure DevOps), где платформа напрямую предоставляет токен OIDC.

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN.

oidc_token_file_path

путь

добавлено в azure.azcollection 3.17.0

Путь к файлу, содержащему токен OpenID Connect (OIDC) (JWT), используемый для аутентификации рабочей нагрузки.

Файл должен содержать только необработанный токен.

Этот метод обычно используется на платформах, которые сохраняют токены OIDC в виде файлов.

Также можно задать с помощью переменной среды AZURE_FEDERATED_TOKEN_FILE.

password

строка

Пароль пользователя Active Directory. Используйте при аутентификации с помощью пользователя Active Directory, а не субъекта-службы.

profile

строка

Профиль безопасности из файла ~/.azure/credentials.

public_access

строка

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

Можно задать только при создании контейнера.

Для частного доступа параметр public_access задавать не следует.

Если параметр public_access не задан, по умолчанию используется частный уровень доступа. Явно установить частный уровень доступа нельзя.

Варианты:

  • "container"
  • "blob"

resource_group

псевдонимы: resource_group_name

строка / обязательный

Имя используемой группы ресурсов.

secret

строка

Секрет клиента Azure. Используйте при аутентификации с помощью субъекта-службы.

source_url

строка

URL-адрес HTTP/HTTPS исходного файла для прямого копирования в blob.

Источник должен быть общедоступным или доступным для аутентификации с помощью подписанного URL-адреса общего доступа (SAS), добавленного к URL-адресу, либо токена носителя для поддерживаемых источников Azure.

Поддерживается только для блочных blob.

src

псевдонимы: source

строка

Путь к исходному файлу. Используйте с состоянием present, чтобы загрузить blob.

standard_blob_tier

строка

Задает уровень хранения blob.

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

Варианты:

  • "Archive"
  • "Cool"
  • "Cold"
  • "Hot"

state

строка

Состояние контейнера или blob.

Используйте состояние absent только со значением container, чтобы удалить контейнер. Укажите значение blob, чтобы удалить определенный blob. Контейнер не будет удален, если он содержит blob. Чтобы удалить контейнер вместе со всеми связанными blob, используйте параметр force.

Используйте состояние present для создания или обновления контейнера, а также загрузки или скачивания blob. Если контейнер не существует, он будет создан. Если он существует, его конфигурация будет обновлена с учетом заданных параметров. Укажите имя blob и либо src, либо dest для загрузки или скачивания. Укажите путь src для загрузки и путь dest для скачивания. Если blob (при загрузке) или файл (при скачивании) уже существует, он не будет перезаписан, если не задано force=true.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

storage_account_name

псевдонимы: account_name, storage_account

строка / обязательный

Имя используемой учетной записи хранения.

subscription_id

строка

Идентификатор вашей подписки Azure.

tags

словарь

Словарь пар «строка:строка», назначаемых объекту в качестве метаданных.

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

Чтобы удалить теги, установите для параметра append_tags значение false.

В настоящее время зоны DNS Azure и службы Traffic Manager также не позволяют использовать пробелы в тегах.

Azure Front Door не поддерживает использование

Azure Automation и Azure CDN поддерживают не более 15 тегов для ресурсов.

tenant

строка

Идентификатор клиента Azure. Используйте при аутентификации с помощью субъекта-службы.

thumbprint

строка

добавлено в azure.azcollection 1.14.0

Отпечаток закрытого ключа, указанного в x509_certificate_path.

Используйте при аутентификации с помощью субъекта-службы.

Обязательно, если задан x509_certificate_path.

x509_certificate_path

путь

добавлено в azure.azcollection 1.14.0

Путь к сертификату X509 в формате PEM, используемому для создания субъекта-службы.

Закрытый ключ должен быть добавлен в конец сертификата.

Используйте при аутентификации с помощью субъекта-службы.

Примечания

Примечание

  • Для аутентификации в Azure можно передать параметры, задать переменные среды, использовать профиль из ~/.azure/credentials или войти в систему перед запуском задач или сценария воспроизведения с помощью az login.
  • Также можно выполнить аутентификацию с помощью субъекта-службы или пользователя Active Directory.
  • Для аутентификации через OIDC передайте client_id, tenant и oidc_token или oidc_token_file_path либо задайте переменные среды AZURE_CLIENT_ID, AZURE_TENANT и AZURE_FEDERATED_TOKEN или AZURE_FEDERATED_TOKEN_FILE.
  • Для аутентификации через субъект-службу передайте subscription_id, client_id, secret и tenant либо задайте переменные среды AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
  • Для аутентификации пользователя Active Directory передайте ad_user и password либо задайте переменные AZURE_AD_USER и AZURE_PASSWORD в среде.
  • Кроме того, учетные данные можно хранить в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant либо subscription_id, ad_user и password. Можно также добавить дополнительные профили. Укажите профиль, передав profile или задав AZURE_PROFILE в среде.

См. также

См. также

Вход с помощью Azure CLI

Как пройти аутентификацию с помощью команды az login.

Примеры

- name: Remove container foo
  azure_rm_storageblob:
    resource_group: myResourceGroup
    storage_account_name: clh0002
    container: foo
    state: absent

- name: Create container foo and upload a file
  azure_rm_storageblob:
    resource_group: myResourceGroup
    storage_account_name: clh0002
    container: foo
    blob: graylog.png
    src: ./files/graylog.png
    public_access: container
    content_type: 'application/image'

- name: Download the file
  azure_rm_storageblob:
    resource_group: myResourceGroup
    storage_account_name: clh0002
    container: foo
    blob: graylog.png
    dest: ~/tmp/images/graylog.png

- name: Upload a blob directly from a web URL asynchronously (public HTTP/HTTPS)
  azure_rm_storageblob:
    resource_group: myResourceGroup
    storage_account_name: clh0002
    container: images
    blob: graylog.png
    source_url: https://example.com/path/to/graylog.png
    content_type: image/png
    cache_control: 'public, max-age=3600'
    standard_blob_tier: Hot
    state: present
  async: 1800
  poll: 0

- name: Upload a blob directly from a web URL (public HTTP/HTTPS)
  azure_rm_storageblob:
    resource_group: myResourceGroup
    storage_account_name: clh0002
    container: images
    blob: graylog.png
    source_url: https://example.com/path/to/graylog.png
    content_type: image/png
    cache_control: 'public, max-age=3600'
    standard_blob_tier: Hot
    state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

blob

словарь

Сведения о текущем состоянии большого двоичного объекта.

Возвращается: при выполнении операций с большим двоичным объектом

Пример: {"content_length": 136532, "content_settings": {"cache_control": null, "content_disposition": null, "content_encoding": null, "content_language": null, "content_md5": null, "content_type": "application/image"}, "last_modified": "09-Mar-2016 22:08:25 +0000", "name": "graylog.png", "standard_blob_tier": "Hot", "tags": {}, "type": "BlockBlob"}

container

словарь

Сведения о текущем состоянии выбранного контейнера.

Возвращается: всегда

Пример: {"last_modified": "09-Mar-2016 19:28:26 +0000", "name": "foo", "tags": {}}

Авторы

  • Chris Houseknecht (@chouseknecht)
  • Matt Davis (@nitzmahone)

Ссылки на коллекцию

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_storageblob_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API