Модуль 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 и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore. |
aws_ca_bundle путь | Путь к пакету сертификатов центра сертификации для проверки SSL-сертификатов. Также можно использовать переменную среды |
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 логическое значение | Использовать регистратор Также можно использовать переменную среды Варианты:
|
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
event_name строка / обязательный | Уникальное имя уведомления о событии для бакета. |
events список / элементы=строка | События, которые будут вызывать уведомление. Можно выбрать несколько событий для отправки одному назначению, настроить отправку разных событий разным назначениям, а также задать префикс или суффикс для события. Однако для каждого бакета отдельные события не могут иметь несколько конфигураций с пересекающимися префиксами или суффиксами, которые могут соответствовать одному и тому же ключу объекта. Обязательно, если state=present. Варианты:
По умолчанию: |
lambda_alias строка | Имя псевдонима функции Lambda. Взаимоисключающий параметр с lambda_version. |
lambda_function_arn псевдонимы: function_arn строка | ARN функции Lambda. Взаимоисключающий параметр с queue_arn и topic_arn. |
lambda_version целое число | Версия функции Lambda. Взаимоисключающий параметр с lambda_alias. По умолчанию: |
prefix строка | Необязательный префикс для ограничения уведомлений объектами, ключи которых начинаются с соответствующих символов. По умолчанию: |
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр 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 игнорируется. Также можно использовать переменную среды Дополнительные сведения см. в документации 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. Также можно использовать переменные среды Параметры 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. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
state строка | Описывает требуемое состояние. Варианты:
|
suffix строка | Необязательный суффикс для ограничения уведомлений объектами, ключи которых заканчиваются соответствующими символами. По умолчанию: |
topic_arn строка добавлено в community.aws 3.2.0 | ARN темы SNS. Взаимоисключающий параметр с queue_arn и lambda_function_arn. |
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; в качестве альтернативы рассмотрите возможность использования aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Если в качестве целевого объекта используется функция 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 |
Ссылки на коллекцию
© 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