aws_s3 - управление объектами в S3.
Синопсис
- Этот модуль позволяет пользователю управлять ведрами S3 и объектами в них. Включает поддержку создания и удаления объектов и ведер, извлечения объектов в виде файлов или строк, а также генерации ссылок для скачивания. Этот модуль зависит от boto3 и botocore.
Псевдонимы: s3
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | Значение по умолчанию: None | Идентификатор ключа доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| bucket обязательно | Имя ведра. | |
| dest (добавлено в 1.3) | Путь к целевому файлу при скачивании объекта/ключа с помощью операции GET. | |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если оно есть. |
| encrypt (добавлено в 2.0) | Значение по умолчанию: yes | При установке для режима PUT запрашивает шифрование на стороне сервера. |
| 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 обязательно |
| Переключает поведение модуля между put (загрузка), get (скачивание), geturl (возврат URL для скачивания, Ansible 1.3+), getstr (скачивание объекта как строки (1.3+)), list (список ключей, Ansible 2.0+), create (ведро), delete (ведро) и delobj (удаление объекта, Ansible 2.0+). |
| object | Имя ключа объекта внутри ведра. Может использоваться для создания «виртуальных каталогов», см. примеры. | |
| overwrite | Значение по умолчанию: always | Принудительно перезаписывать локально на файловой системе или удаленно с объектом/ключом. Используется с операциями PUT и GET. Булево или одно из [always, never, different], true равно 'always', false равно 'never', новое в 2.0. Когда это значение установлено в 'different', суммируется md5 локального файла с 'ETag' объекта/ключа в S3. ETag может или не может быть хешем MD5 данных объекта. См. заголовок ответа ETag здесь http://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) | Значение по умолчанию: None | Использует профиль boto. Работает только с boto >= 2.24.0. |
| region (добавлено в 1.8) | Регион AWS для создания ведра. Если не задан, проверяются переменные среды AWS_REGION и EC2_REGION, а затем настройки aws_region и ec2_region в файле конфигурации Boto. Если ни одна из них не задана, регион по умолчанию — стандартное расположение S3: США. Псевдонимы: aws_region, ec2_region | |
| retries (добавлено в 2.0) | Значение по умолчанию: 0 | В случае восстановимой ошибки, сколько раз повторить попытку перед фактическим завершением неудачей. |
| rgw (добавлено в 2.2) | Значение по умолчанию: no | Включить поддержку Ceph RGW S3. Эта опция требует явного URL через s3_url. |
| s3_url | Конечная точка URL S3 для использования с Ceph, Eucalypus, fakes3 и т. д. В противном случае предполагается AWS Псевдонимы: S3_URL | |
| security_token (добавлено в 1.6) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| src (добавлено в 1.3) | Путь к исходному файлу при выполнении операции PUT. | |
| validate_certs (добавлено в 1.5) |
| Если установлено «нет», сертификаты 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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, что означает, что разработчики данного модуля гарантируют, что не будет внесено несовместимых изменений в интерфейс.
Поддержка
Для получения дополнительной информации о поддержке данного модуля компанией 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.5/modules/aws_s3_module.html