Spec-Zone.ru › Ansible 2.7

s3_sync – Эффективно загружает несколько файлов в S3

Новое в версии 2.3.

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

Обзор

  • Модуль S3 замечательный, но очень медленный для большого объёма файлов — даже дюжина файлов будет заметна. Кроме скорости, он обрабатывает подстановку шаблонов, включения/исключения, типы MIME, сопоставление срока действия, рекурсию, управление кешем и умное сопоставление каталогов.

Требования

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

  • boto
  • boto3 >= 1.4.4
  • botocore
  • python >= 2.6
  • python-dateutil

Параметры

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

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

Псевдонимы: ec2_secret_key, secret_key
bucket
- / обязательно
Имя ведра.
cache_control
-
добавлен в 2.4
Это строка.
Заголовок Cache-Control, устанавливаемый для загружаемых объектов.
Директивы разделяются запятыми.
delete
-
добавлен в 2.4
По умолчанию:
"нет"
Удаление удаленных файлов, которые существуют в ведре, но отсутствуют в корневом каталоге файла.
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.
exclude
-
По умолчанию:
".*"
Соответствие файлам по шаблону оболочки.
Используется после include для удаления файлов (например, пропустить "*.txt")
Для нескольких шаблонов разделяйте их запятыми.
file_change_strategy
-
    Варианты:
  • force
  • checksum
  • date_size ←
Метод определения различий для синхронизации только изменений. В отличие от rsync, файлы не исправляются — они полностью пропускаются или полностью загружаются.
date_size будет загружать, если размеры файлов не совпадают или если локальная дата изменения файла новее, чем версия в S3
checksum будет сравнивать значения etag на основе реализации S3 фрагментированных md5.
force всегда загрузит все файлы.
file_root
- / обязательно
Путь к файлу/каталогу для синхронизации. Это локальный путь.
Этот корневой путь удаляется из имени ключа, поэтому подкаталоги останутся в качестве ключей.
include
-
По умолчанию:
"*"
Соответствие файлам по шаблону оболочки.
Используется перед exclude для определения подходящих файлов (например, только "*.gif")
Для нескольких шаблонов разделяйте их запятыми.
key_prefix
-
В дополнение к пути к файлу, добавляет путь к s3 с этим префиксом. Модуль добавит слеш в конец префикса, если необходимо.
mime_map
-
Элемент словаря с расширением и типом MIME. Это переопределит любой стандартный/определенный по типу MIME. Например {".txt": "application/text", ".yml": "application/text"}
mode
- / обязательно
    Варианты:
  • push ←
Направление синхронизации.
permission
-
    Варианты:
  • private
  • public-read
  • public-read-write
  • authenticated-read
  • aws-exec-read
  • bucket-owner-read
  • bucket-owner-full-control
Справочные ACL, которые применяются к синхронизированным файлам.
Изменение этих ACL влияет только на новые синхронизированные файлы, оно не запускает полную перезагрузку.
profile
-
добавлен в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
region
-
Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

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

Псевдонимы: access_token
validate_certs
boolean
добавлен в 1.5
    Варианты:
  • нет
  • да ←
При значении "нет" сертификаты SSL для boto версий >= 2.6.0 не будут проверяться.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета 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: basic upload
  s3_sync:
    bucket: tedder
    file_root: roles/s3/files/

- name: all the options
  s3_sync:
    bucket: tedder
    file_root: roles/s3/files
    mime_map:
      .yml: application/text
      .json: application/text
    key_prefix: config_files/web
    file_change_strategy: force
    permission: public-read
    cache_control: "public, max-age=31536000"
    include: "*"
    exclude: "*.txt,.*"

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

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

Ключ Возвращаемое значение Описание
filelist_actionable
список
всегда
список файлов (словари) файлов, которые будут загружены после принятия решения стратегией

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 'mime_type': 'application/json', 'modified_epoch': 1477931256, 's3_path': 's3sync/policy.json', 'whysize': '151 / 151', 'whytime': '1477931256 / 1477929260'}]
filelist_initial
список
всегда
список файлов (словари) из начального подбора

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 'modified_epoch': 1477416706}]
filelist_local_etag
список
всегда
список файлов (словари), включая рассчитанный локальный etag

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 'mime_type': 'application/json', 'modified_epoch': 1477416706, 's3_path': 's3sync/policy.json'}]
filelist_s3
список
всегда
список файлов (словари), включая информацию о ранее загруженных версиях

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 'mime_type': 'application/json', 'modified_epoch': 1477416706, 's3_path': 's3sync/policy.json'}]
filelist_typed
список
всегда
список файлов (словари) с рассчитанными или переопределёнными типами MIME

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 'mime_type': 'application/json', 'modified_epoch': 1477416706}]
uploaded
список
всегда
список файлов (словари) файлов, которые были фактически загружены

Пример:
[{'bytes': 151, 'chopped_path': 'policy.json', 'fullpath': 'roles/cf/files/policy.json', 's3_path': 's3sync/policy.json', 'whysize': '151 / 151', 'whytime': '1477931637 / 1477931489'}]


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Ted Timmons (@tedder)

Подсказка

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

© 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/s3_sync_module.html

Spec-Zone.ru

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