Spec-Zone.ru › Ansible

Модуль community.aws.s3_bucket_notification — создает, обновляет или удаляет уведомления бакета S3, направленные функциям Lambda, SNS или SQS.

Примечание

Этот модуль входит в коллекцию community.aws (версия 10.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.aws.s3_bucket_notification.

Добавлено в community.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль поддерживает создание, обновление и удаление конфигураций уведомлений бакета S3, направленных функциям Lambda, темам SNS или очередям SQS.
  • Целевой объект уведомлений уже должен существовать. Для управления самой функцией Lambda используйте модуль community.aws.lambda, для управления псевдонимами функций — community.aws.lambda_alias, а для изменения разрешений Lambda — community.aws.lambda_policy. Для SNS или SQS используйте community.aws.sns_topic или community.aws.sqs_queue.

Требования

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

  • python >= 3.6
  • boto3 >= 1.34.0
  • botocore >= 1.34.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

aws_ca_bundle

путь

Путь к пакету сертификатов центра сертификации для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Описание параметров приведено в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

bucket_name

строка / обязательный

Имя бакета S3.

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для анализа уникальных (а не общего количества) вызовов API "resource:action", выполненных во время задачи, и выводить набор в ключ resource_actions результатов задачи. Используйте обработчик обратных вызовов aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

event_name

строка / обязательный

Уникальное имя уведомления о событии для бакета.

events

список / элементы=строка

События, которые будут вызывать уведомление. Можно выбрать несколько событий для отправки одному назначению, настроить отправку разных событий разным назначениям, а также задать префикс или суффикс для события. Однако для каждого бакета отдельные события не могут иметь несколько конфигураций с пересекающимися префиксами или суффиксами, которые могут соответствовать одному и тому же ключу объекта.

Обязательно, если state=present.

Варианты:

  • "s3:ObjectCreated:*"
  • "s3:ObjectCreated:Put"
  • "s3:ObjectCreated:Post"
  • "s3:ObjectCreated:Copy"
  • "s3:ObjectCreated:CompleteMultipartUpload"
  • "s3:ObjectRemoved:*"
  • "s3:ObjectRemoved:Delete"
  • "s3:ObjectRemoved:DeleteMarkerCreated"
  • "s3:ObjectRestore:Post"
  • "s3:ObjectRestore:Completed"
  • "s3:ReducedRedundancyLostObject"

По умолчанию: []

lambda_alias

строка

Имя псевдонима функции Lambda.

Взаимоисключающий параметр с lambda_version.

lambda_function_arn

псевдонимы: function_arn

строка

ARN функции Lambda.

Взаимоисключающий параметр с queue_arn и topic_arn.

lambda_version

целое число

Версия функции Lambda.

Взаимоисключающий параметр с lambda_alias.

По умолчанию: 0

prefix

строка

Необязательный префикс для ограничения уведомлений объектами, ключи которых начинаются с соответствующих символов.

По умолчанию: ""

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token.

queue_arn

строка

добавлено в community.aws 3.2.0

ARN очереди SQS.

Взаимоисключающий параметр с topic_arn и lambda_function_arn.

region

псевдонимы: aws_region

строка

Регион AWS, который следует использовать.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

строка

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

session_token

псевдонимы: aws_session_token

строка

Токен сеанса AWS STS для использования с временными учетными данными.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

строка

Описывает требуемое состояние.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

suffix

строка

Необязательный суффикс для ограничения уведомлений объектами, ключи которых заканчиваются соответствующими символами.

По умолчанию: ""

topic_arn

строка

добавлено в community.aws 3.2.0

ARN темы SNS.

Взаимоисключающий параметр с queue_arn и lambda_function_arn.

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется задавать validate_certs=false; в качестве альтернативы рассмотрите возможность использования aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Если в качестве целевого объекта используется функция Lambda, также потребуется политика Lambda. Используйте для этого community.aws.lambda_policy, чтобы разрешить lambda:InvokeFunction для уведомления.
  • Внимание: Модули считывают переменные среды и файлы конфигурации из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». Плагины поиска и подключения считывают переменные среды и файлы конфигурации из контекста «контроллера» Ansible, а не из контекста «хоста».
  • Используемый Ansible AWS SDK (boto3) также может считывать значения учетных данных и другие настройки по умолчанию, например регион, из файлов конфигурации в контексте «хоста» Ansible (обычно ~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

---
# Examples adding notification target configs to a S3 bucket
- name: Setup bucket event notification to a Lambda function
  community.aws.s3_bucket_notification:
    state: present
    event_name: on_file_add_or_remove
    bucket_name: test-bucket
    lambda_function_arn: arn:aws:lambda:us-east-2:123456789012:function:test-lambda
    events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
    prefix: images/
    suffix: .jpg

- name: Setup bucket event notification to SQS
  community.aws.s3_bucket_notification:
    state: present
    event_name: on_file_add_or_remove
    bucket_name: test-bucket
    queue_arn: arn:aws:sqs:us-east-2:123456789012:test-queue
    events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
    prefix: images/
    suffix: .jpg

# Example removing an event notification
- name: Remove event notification
  community.aws.s3_bucket_notification:
    state: absent
    event_name: on_file_add_or_remove
    bucket_name: test-bucket

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

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

Ключ

Описание

notification_configuration

сложный тип

словарь текущих примененных уведомлений

Возвращается: success

lambda_function_configurations

список / элементы=строка

Список текущих конфигураций уведомлений функций Lambda, примененных к бакету.

Возвращается: success

queue_configurations

список / элементы=строка

Список текущих конфигураций уведомлений SQS, примененных к бакету.

Возвращается: success

topic_configurations

список / элементы=строка

Список текущих конфигураций уведомлений SNS, примененных к бакету.

Возвращается: success

Авторы

  • XLAB d.o.o. (@xlab-si)
  • Aljaz Kosir (@aljazkosir)
  • Miha Plesko (@miha-plesko)
  • Mark Woolley (@marknet15)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/aws/s3_bucket_notification_module.html

Spec-Zone.ru

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