如何创建 SNS 订阅过滤策略

时间:2021-06-11 21:02:34

标签: amazon-web-services amazon-cloudformation amazon-sns aws-cloudformation-custom-resource amazon-cloudwatch-events

我正在尝试创建 SNS 订阅过滤器策略。我希望此过滤器策略仅在 s3 存储桶的 cloudformation 资源状态为“CREATE_IN_PROGRESS”时向用户发送消息,并且不应将所有其他 cloudformation 资源创建事件发送给用户。任何有为 Cloudformation 事件创建 SNS 订阅过滤器策略经验的人都可以提供帮助。我只希望用户在 ResourceStatus='CREATE_IN_PROGRESS' for ResourceType='AWS::S3::Bucket' 并且存储桶是逻辑资源时收到通知Id='TestBucket'

'

1 个答案:

答案 0 :(得分:1)

我认为这行不通。

来自Amazon SNS subscription filter policies - Amazon Simple Notification Service

<块引用>

订阅过滤策略允许您指定属性名称并为每个属性名称分配一个值列表...过滤策略中的每个属性名称都匹配一个属性名称 分配给消息。

当 AWS CloudFormation 发送事件时,它们会作为 JSON 块发送。单个元素(例如状态、存储桶名称)不会作为 Amazon SNS 消息属性发送。因此,规则将无法检测到这些值。

另一种方法是编写一个 AWS Lambda 函数来解析消息并做出相应的响应。