Модуль amazon.aws.s3_object — Управление объектами в S3
Примечание
Этот модуль входит в состав коллекции amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. Требования.
Для использования в playbook, укажите: amazon.aws.s3_object.
Добавлен в amazon.aws 1.0.0
Описание
- Этот модуль позволяет пользователю управлять объектами и каталогами в корзинах S3. Он поддерживает создание и удаление объектов и каталогов, извлечение объектов в виде файлов или строк, генерацию ссылок для скачивания и копирование уже сохраненных объектов в Amazon S3.
- Корзины S3 можно создавать или удалять с помощью модуля amazon.aws.s3_bucket.
- Совместим с AWS, DigitalOcean, Ceph, Walrus, FakeS3 и StorageGRID.
- При использовании не-AWS сервисов, необходимо указать
endpoint_url.
Примечание
Данный модуль имеет соответствующий плагин действий.
Псевдонимы: aws_s3
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id был добавлен в версии 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_access_key устарел и будет удален в версии после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке сертификатов SSL. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
bucket string / required | Имя корзины. |
ceph aliases: rgw boolean | Включить совместимость API с Ceph RGW. Учитывает подмножество API S3, работающее с Ceph, чтобы обеспечить одинаковое поведение модуля, где это возможно. Требуется Варианты:
|
content string added in amazon.aws 1.3.0 | Контент для Значение параметра будет рассматриваться как строка и преобразовано в UTF-8 перед отправкой в S3. Чтобы отправить двоичные данные, используйте вместо этого параметр Один из |
content_base64 string added in amazon.aws 1.3.0 | Кодированные в base64 двоичные данные для Используйте это, если вам нужно поместить необработанные двоичные данные, и не забудьте закодировать в base64. Один из |
copy_src dictionary added in amazon.aws 2.0.0 | Сведения об источнике объекта для копирования. Требуется, если |
|
bucket string / required |
Имя исходного бакета. |
|
object string |
Имя ключа исходного объекта. Если не указано, все объекты |
|
prefix string added in amazon.aws 6.2.0 |
Копировать все ключи, начинающиеся с указанного префикса. Игнорируется, если указан По умолчанию: |
|
version_id string |
Идентификатор версии исходного объекта. |
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
dest path | |
dualstack boolean | Включает конечные точки Amazon S3 Dual-Stack, позволяющие S3-связи использовать как IPv4, так и IPv6. Поддержка одновременной передачи Варианты:
|
encrypt boolean |
encryption_kms_key_id string | Идентификатор ключа KMS для шифрования объектов с помощью Игнорируется, если |
encryption_mode string | Режим шифрования для использования, если Варианты:
|
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws протестированы только с AWS. Также можно использовать переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
expected_bucket_owner string добавлено в amazon.aws 8.2.0 | Идентификатор учетной записи ожидаемого владельца ведра. Если предоставленный вами идентификатор учетной записи не соответствует фактическому владельцу ведра, запрос завершается ошибкой с HTTP-кодом 403 Forbidden (доступ запрещен). |
expiry aliases: expiration integer | Срок действия (в секундах) URL-адреса, сгенерированного и возвращенного S3/Walrus при выполнении операции Игнорируется, когда По умолчанию: |
headers dictionary | |
ignore_nonexistent_bucket boolean | Переопределяет первоначальные запросы к ведру в случае, если ведро или политики IAM ограничены. Это может быть полезно, когда у пользователя есть разрешение Варианты:
|
marker string | Указывает ключ для начала при использовании режима списка. Объектные ключи возвращаются в алфавитном порядке, начиная с ключа после маркера в порядке. По умолчанию: |
max_keys integer | |
metadata dictionary | |
mode string / обязательно | Переключает поведение модуля между
Поддержка создания и удаления ведер была удалена в версии 6.0.0. Для создания и управления самим ведром используйте модуль amazon.aws.s3_bucket. Варианты:
|
object string | Имя ключа объекта внутри ведра. Может использоваться для создания «виртуальных каталогов», см. примеры. Имена ключей объектов не должны включать ведущий Поддержка передачи ведущего |
overwrite aliases: force string | Принудительная перезапись локально на файловой системе или удаленно объекта/ключа. Используется при Игнорируется, когда Должен быть булевым значением,
При установке этого значения в При установке По умолчанию: |
permission list / elements=string | Эта опция позволяет пользователю установить предопределенные права доступа к создаваемому объекту/бакету. Доступные права доступа: Полный список прав доступа см. в документации AWS https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl. Варианты:
Значение по умолчанию: |
prefix string | Ограничивает ответ ключами, которые начинаются с указанного префикса в режиме списка. Значение по умолчанию: |
profile алиасы: aws_profile string | Именованный профиль AWS для использования при аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Можно также использовать переменную среды Опция profile взаимоисключающая с опциями aws_access_key, aws_secret_key и security_token. |
purge_tags boolean | Если purge_tags=true и задан параметр tags, существующие теги будут очищены из ресурса, чтобы точно соответствовать тому, что определено параметром tags. Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region алиасы: aws_region, ec2_region string | Регион AWS для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Можно также использовать переменные среды Дополнительные сведения см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
retries алиасы: retry integer | При возобновляемой ошибке, сколько раз повторить попытку перед фактическим отказом. Значение по умолчанию: |
secret_key алиасы: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Можно также использовать переменные среды Опции secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token алиасы: aws_session_token, security_token, aws_security_token, access_token string | Сеансовый токен AWS STS для использования с временными учетными данными. Дополнительные сведения о токенах доступа см. в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Можно также использовать переменные среды Опции security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
sig_v4 boolean добавлено в amazon.aws 5.0.0 | Принуждает Boto SDK использовать подпись версии 4. Применяется только к режимам получения, Варианты:
|
src path | Путь к исходному файлу при выполнении операции Один из параметров |
метки алиасы: resource_tags словарь | Словарь, представляющий метки, которые должны быть применены к ресурсу. Если параметр метки не задан, метки не будут изменены. |
validate_bucket_name булево добавлен в amazon.aws 3.1.0 | Необходимо ли проверять имя ведра на соответствие правилам именования AWS S3. Включено по умолчанию, может быть отключено для S3-бекендов, которые не соблюдают эти правила. Дополнительную информацию о правилах именования ведер см. в документации Amazon https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html. Варианты:
|
validate_certs булево | При установке в значение Устанавливать validate_certs=false настоятельно не рекомендуется. В качестве альтернативы, можно установить aws_ca_bundle. Варианты:
|
версия строка | Идентификатор версии объекта внутри ведра. Может быть использован для получения определенной версии файла, если версия включена в целевом ведре. |
Примечания
Примечание
- Поддержка
tagsиpurge_tagsбыла добавлена в релизе 2.0.0. - В релизе 5.0.0 параметр
s3_urlбыл объединён в параметрendpoint_url, s3_url остаётся псевдонимом дляendpoint_url. - Для Walrus параметр
endpoint_urlдолжен быть установлен в FQDN конечной точки без схемы и пути. - Поддержка переменной среды
S3_URLустарела и будет удалена в релизе после 2024-12-01, пожалуйста, используйте параметрendpoint_urlили переменную средыAWS_URL. - Поддержка создания и удаления ведер была удалена в релизе 6.0.0.
- Внимание: Для модулей переменные окружения и файлы конфигурации считываются из контекста Ansible «хост», а не «контроллер». Поэтому файлы может потребоваться скопировать на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из файлов конфигурации в контексте Ansible «хост» (обычно
~/.aws/credentials). Дополнительную информацию см. в https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
- name: Simple PUT operation
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
- name: PUT operation from a rendered template
amazon.aws.s3_object:
bucket: mybucket
object: /object.yaml
content: "{{ lookup('template', 'templates/object.yaml.j2') }}"
mode: put
- name: Simple PUT operation in Ceph RGW S3
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
src: /usr/local/myfile.txt
mode: put
ceph: true
endpoint_url: "http://localhost:8000"
- name: Simple GET operation
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
dest: /usr/local/myfile.txt
mode: get
- name: Get a specific version of an object.
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
version: 48c9ee5131af7a716edc22df9772aa6f
dest: /usr/local/myfile.txt
mode: get
- name: PUT/upload with metadata
amazon.aws.s3_object:
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
amazon.aws.s3_object:
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
amazon.aws.s3_object:
bucket: mybucket
mode: list
- name: List keys all options
amazon.aws.s3_object:
bucket: mybucket
mode: list
prefix: /my/desired/
marker: /my/desired/0023.txt
max_keys: 472
- name: GET an object but don't download if the file checksums match. New in 2.0
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
dest: /usr/local/myfile.txt
mode: get
overwrite: different
- name: Delete an object from a bucket
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
mode: delobj
- name: Copy an object already stored in another bucket
amazon.aws.s3_object:
bucket: mybucket
object: /my/desired/key.txt
mode: copy
copy_src:
bucket: srcbucket
object: /source/key.txt
- name: Copy all the objects with name starting with 'ansible_'
amazon.aws.s3_object:
bucket: mybucket
mode: copy
copy_src:
bucket: srcbucket
prefix: 'ansible_'
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
содержимое строка | Содержимое объекта в виде строки. Возвращается: (для операции getstr) Пример: |
срок_действия целое_число | Количество секунд, в течение которого действителен предварительно подписанный URL. Возвращается: (для операции geturl) Пример: |
сообщение строка | Сообщение, указывающее состояние операции. Возвращается: всегда Пример: |
ключ_s3 список / элементы=строка | Список ключей объектов. Возвращается: (для операции list) Пример: |
метки словарь | Метки объекта s3. Возвращается: всегда Пример: |
url строка | URL объекта. Возвращается: (для операций put и geturl) Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/s3_object_module.html