Как создать политику фильтрации подписки SNS

Я пытаюсь создать политику фильтрации подписки SNS. Я хочу, чтобы эта политика фильтрации отправляла сообщение пользователю только в том случае, если статус ресурса cloudformation равен CREATE_IN_PROGRESS для корзины s3, а все остальные события создания ресурса cloudformation не должны отправляться пользователю. Может ли кто-нибудь, у кого есть опыт создания политики фильтрации подписки на SNS для событий Cloudformation, пожалуйста, помочь в этом. Я просто хочу, чтобы пользователь получал только уведомление, когда ResourceStatus='CREATE_IN_PROGRESS' для ResourceType='AWS::S3::Bucket', а ведро является логическим ресурсом Идентификатор = 'Тестовое ведро'

'




Ответы (1)


Я не думаю, что это сработает.

Из политик фильтрации подписок Amazon SNS — Amazon Simple Notification Сервис:

Политика фильтрации подписки позволяет указать имена атрибутов и назначить список значений для каждого имени атрибута... Каждое имя атрибута в политике фильтрации соответствует имени атрибута, назначенному для сообщение.

Когда AWS CloudFormation отправляет события, они отправляются в виде блока JSON. Отдельные элементы (например, статус, имя корзины) не отправляются как атрибуты сообщения Amazon SNS. Таким образом, правила не смогут обнаружить эти значения.

В качестве альтернативы можно было бы написать функцию AWS Lambda, которая может анализировать сообщение и реагировать соответствующим образом.

person John Rotenstein    schedule 11.06.2021