Spec-Zone.ru › Ansible 2.7

aws_s3 – управление объектами в S3.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Этот модуль позволяет пользователю управлять ведрами S3 и объектами внутри них. Включает поддержку создания и удаления объектов и ведер, получения объектов в виде файлов или строк, а также генерации ссылок для скачивания. Этот модуль зависит от библиотек boto3 и botocore.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
-
ID ключа доступа AWS. Если не задано, используется значение переменной окружения AWS_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key
-
Секретный ключ AWS. Если не задано, используется значение переменной окружения AWS_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
bucket
- / обязательно
Имя ведра.
dest
-
добавлен в 1.3
Путь к целевому файлу при скачивании объекта/ключа с помощью операции GET.
dualstack
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Включает Amazon S3 Dual-Stack Endpoints, позволяя использовать S3 для связи с использованием как IPv4, так и IPv6.
Требуется, по крайней мере, версия botocore 1.4.45.
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех остальных модулей, если регион не используется. Если не задано, используется значение переменной окружения EC2_URL, если таковое есть.
encrypt
-
добавлен в 2.0
Значение по умолчанию:
"да"
При установке для режима PUT запрашивает шифрование на стороне сервера.
encryption_kms_key_id
-
добавлен в 2.7
ID ключа KMS для использования при шифровании объектов с помощью aws:kms шифрования. Игнорируется, если шифрование не aws:kms
encryption_mode
-
добавлен в 2.7
    Варианты:
  • AES256 ←
  • aws:kms
Режим шифрования для использования, если encrypt задано
expiration
-
Значение по умолчанию:
600
Время ожидания (в секундах) для URL, сгенерированного и возвращенного S3/Walrus при выполнении операции mode=put или mode=geturl.
headers
-
добавлен в 2.0
Настраиваемые заголовки для операции PUT в виде словаря 'ключ=значение' и 'ключ=значение,ключ=значение'.
ignore_nonexistent_bucket
-
добавлен в 2.3
Переопределяет начальные запросы к ведру в случае, если ведро или политики IAM ограничены. Пример: пользователь может иметь разрешение GetObject, но не другие разрешения. В этом случае использование параметра mode: get завершится неудачей без указания ignore_nonexistent_bucket: True.
marker
-
добавлен в 2.0
Указывает ключ, с которого начать при использовании режима list. Ключи объектов возвращаются в алфавитном порядке, начиная с ключа после маркера в порядке.
max_keys
-
добавлен в 2.0
Значение по умолчанию:
1000
Максимальное количество результатов, возвращаемых в режиме list, установите это значение, если хотите получить меньше, чем стандартные 1000 ключей.
metadata
-
добавлен в 1.6
Метаданные для операции PUT в виде словаря 'ключ=значение' и 'ключ=значение,ключ=значение'.
mode
- / обязательно
    Варианты:
  • get
  • put
  • delete
  • create
  • geturl
  • getstr
  • delobj
  • list
Переключает поведение модуля между put (загрузка), get (скачивание), geturl (возврат URL скачивания, Ansible 1.3+), getstr (скачивание объекта как строки (1.3+)), list (список ключей, Ansible 2.0+), create (ведро), delete (ведро), и delobj (удаление объекта, Ansible 2.0+).
object
-
Имя ключа объекта внутри ведра. Может использоваться для создания «виртуальных каталогов», см. примеры.
overwrite
-
Значение по умолчанию:
"всегда"
Принудительно перезаписать локально на файловой системе или удаленно с объектом/ключом. Используется с операциями PUT и GET. Булево или одно из [всегда, никогда, другое], true равно 'всегда', а false равно 'никогда', нововведение в 2.0. Когда это установлено в 'другое', md5-сумма локального файла сравнивается с 'ETag' объекта/ключа в S3. ETag может или не может быть MD5-хешем данных объекта. Смотрите заголовок ответа ETag здесь https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html

Псевдонимы: force
permission
-
добавлен в 2.0
Значение по умолчанию:
"private"
Этот параметр позволяет пользователю установить предопределенные разрешения на создаваемый объект/ведро. Разрешения, которые можно установить, это 'private', 'public-read', 'public-read-write', 'authenticated-read' для ведра или 'private', 'public-read', 'public-read-write', 'aws-exec-read', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control' для объекта. Можно указать несколько разрешений в виде списка.
prefix
-
добавлен в 2.0
Значение по умолчанию:
""
Ограничивает ответ ключами, которые начинаются с указанного префикса для режима list.
profile
-
добавлен в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
region
-
добавлен в 1.8
Регион AWS для создания ведра. Если не задано, проверяются значения переменных окружения AWS_REGION и EC2_REGION, а затем настройки aws_region и ec2_region в файле конфигурации Boto. Если ни одно из этих значений не задано, регион по умолчанию — S3 Location: US Standard. До версии ansible 1.8 этот параметр можно было указать, но он не имел эффекта.

Псевдонимы: aws_region, ec2_region
retries
-
добавлен в 2.0
Значение по умолчанию:
0
При возникновении восстановимых ошибок, сколько раз повторить попытку, прежде чем завершить операцию с ошибкой.
rgw
-
добавлен в 2.2
Значение по умолчанию:
"нет"
Включить поддержку Ceph RGW S3. Этот параметр требует явного URL через s3_url.
s3_url
-
Конечная точка URL S3 для использования с Ceph, Eucalypus, fakes3 и т. д. В противном случае предполагается AWS

Псевдонимы: S3_URL
security_token
-
добавлен в 1.6
Токен безопасности AWS STS. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
src
-
добавлен в 1.3
Путь к исходному файлу при выполнении операции PUT.
END_OF_DOCUMENT_MARKER
validate_certs
boolean
добавлено в 1.5
    Варианты:
  • no
  • да ←
Если установлено значение "no", сертификаты SSL для версий boto >= 2.6.0 не будут проверены.
version
-
добавлено в 2.0
Идентификатор версии объекта внутри ведра. Может использоваться для получения определенной версии файла, если в целевом ведре включена функция управления версиями.

Примечания

Примечание

  • В версии 2.4 этот модуль был переименован из s3 в aws_s3.
  • Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета AWS_URL или EC2_URL, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это требуется, но это также можно настроить в конфигурационном файле boto

Примеры

- name: Simple PUT operation
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    src: /usr/local/myfile.txt
    mode: put

- name: Simple PUT operation in Ceph RGW S3
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    src: /usr/local/myfile.txt
    mode: put
    rgw: true
    s3_url: "http://localhost:8000"

- name: Simple GET operation
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    dest: /usr/local/myfile.txt
    mode: get

- name: Get a specific version of an object.
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    version: 48c9ee5131af7a716edc22df9772aa6f
    dest: /usr/local/myfile.txt
    mode: get

- name: PUT/upload with metadata
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    src: /usr/local/myfile.txt
    mode: put
    metadata: 'Content-Encoding=gzip,Cache-Control=no-cache'

- name: PUT/upload with custom headers
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    src: /usr/local/myfile.txt
    mode: put
    headers: 'x-amz-grant-full-control=emailAddress=owner@example.com'

- name: List keys simple
  aws_s3:
    bucket: mybucket
    mode: list

- name: List keys all options
  aws_s3:
    bucket: mybucket
    mode: list
    prefix: /my/desired/
    marker: /my/desired/0023.txt
    max_keys: 472

- name: Create an empty bucket
  aws_s3:
    bucket: mybucket
    mode: create
    permission: public-read

- name: Create a bucket with key as directory, in the EU region
  aws_s3:
    bucket: mybucket
    object: /my/directory/path
    mode: create
    region: eu-west-1

- name: Delete a bucket and all contents
  aws_s3:
    bucket: mybucket
    mode: delete

- name: GET an object but don't download if the file checksums match. New in 2.0
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    dest: /usr/local/myfile.txt
    mode: get
    overwrite: different

- name: Delete an object from a bucket
  aws_s3:
    bucket: mybucket
    object: /my/desired/key.txt
    mode: delobj

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

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

Ключ Возвращаемое значение Описание
contents
строка
(для операции getstr)
содержимое объекта в виде строки

Пример:
Привет, мир!
expiry
целое число
(для операции geturl)
количество секунд, в течение которого действителен предварительно подписанный URL

Пример:
600
msg
строка
всегда
сообщение, указывающее статус операции

Пример:
Операция PUT завершена
s3_keys
список
(для операции list)
список ключей объектов

Пример:
['prefix1/', 'prefix1/key1', 'prefix1/key2']
url
строка
(для операций put и geturl)
URL объекта

Пример:
https://my-bucket.s3.amazonaws.com/my-key.txt?AWSAccessKeyId=<access-key>&Expires=1506888865&Signature=<signature>


Статус

  • Гарантируется, что этот модуль не будет содержать обратной совместимости в будущем. [stableinterface]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Lester Wade (@lwade)
  • Sloane Hertel (@s-hertel)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/aws_s3_module.html

Spec-Zone.ru

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