Spec-Zone.ru › Ansible 2.6

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)
Значение по умолчанию:
"no"
Удаление удаленных файлов, которые существуют в ведре, но отсутствуют в корневом каталоге файлов.
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
bool

(добавлен в 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
список
всегда
список файлов (списка словарей) файлов, которые будут загружены после принятия решения стратегией

Пример:
[{'байты': 151, 'обрезанный_путь': 'policy.json', 'полный_путь': 'roles/cf/files/policy.json', 'тип_mime': 'application/json', 'эпоха_модификации': 1477931256, 's3_путь': 's3sync/policy.json', 'размер_пояснение': '151 / 151', 'время_пояснение': '1477931256 / 1477929260'}]
filelist_initial
список
всегда
список файлов (списка словарей) из начального сопоставления

Пример:
[{'байты': 151, 'обрезанный_путь': 'policy.json', 'полный_путь': 'roles/cf/files/policy.json', 'эпоха_модификации': 1477416706}]
filelist_local_etag
список
всегда
список файлов (списка словарей), включая вычисленный локальный etag

Пример:
[{'байты': 151, 'обрезанный_путь': 'policy.json', 'полный_путь': 'roles/cf/files/policy.json', 'тип_mime': 'application/json', 'эпоха_модификации': 1477416706, 's3_путь': 's3sync/policy.json'}]
filelist_s3
список
всегда
список файлов (списка словарей), включая информацию о ранее загруженных версиях

Пример:
[{'байты': 151, 'обрезанный_путь': 'policy.json', 'полный_путь': 'roles/cf/files/policy.json', 'тип_mime': 'application/json', 'эпоха_модификации': 1477416706, 's3_путь': 's3sync/policy.json'}]
filelist_typed
список
всегда
список файлов (списка словарей) с вычисленными или переопределенными типами mime

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

Пример:
[{'байты': 151, 'обрезанный_путь': 'policy.json', 'полный_путь': 'roles/cf/files/policy.json', 's3_путь': 's3sync/policy.json', 'размер_пояснение': '151 / 151', 'время_пояснение': '1477931637 / 1477931489'}]


Статус

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

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Поддержка и техническое обслуживание модулей.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

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

Spec-Zone.ru

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