Spec-Zone.ru › Ansible 2.5

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

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

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

Обзор

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

Требования

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

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

Параметры

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

Псевдонимы: ec2_access_key, access_key
aws_secret_key Значение по умолчанию:
None
Секретный ключ 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 Значение по умолчанию:
None
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
Canned ACL, применяемый к синхронизированным файлам.
Изменение этой ACL изменяет только недавно синхронизированные файлы, не вызывая полной перезагрузки.
profile
(добавлен в 1.6)
Значение по умолчанию:
None
Использует профиль 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)
Значение по умолчанию:
None
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
validate_certs
(добавлен в 1.5)
    Варианты:
  • no
  • yes ←
Если установлено "no", сертификаты 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), если не указаны учётные данные. См. http://boto.readthedocs.org/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
список
всегда
список файлов (словари) файлов, которые будут загружены после принятия решения стратегией

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

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

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

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

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

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


Статус

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

Автор

  • 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.5/modules/s3_sync_module.html

Spec-Zone.ru

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