在通知文档(下面的链接)中,通知配置的示例解释了具有重叠前缀/后缀组合的配置无效。
但是,没有任何细节可以捕获任何未指定的前缀。如果我有一个带有dir1 /和dir2 /目录的S3存储桶,其通知配置如下:
<NotificationConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-east-1:123412341234:sns-notify-dir1</Topic>
<Event>s3:ObjectCreated:*</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>dir1</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
<TopicConfiguration>
<Topic>arn:aws:sns:us-east-1:123412341234:sns-notify-dir2</Topic>
<Event>s3:ObjectCreated:*</Event>
<Filter>
<S3Key>
<FilterRule>
<Name>prefix</Name>
<Value>dir2</Value>
</FilterRule>
</S3Key>
</Filter>
</TopicConfiguration>
</NotificationConfiguration>
是否可以添加catchall过滤器?我知道重叠的规则不起作用,所以我不能只添加:
<TopicConfiguration>
<Topic>arn:aws:sns:us-east-1:123412341234:sns-notify-generic</Topic>
<Event>s3:ObjectCreated:*</Event>
</TopicConfiguration>
我想知道如果在第3个目录下或在没有目录的情况下添加对象,我是否可以拥有更通用的SNS通知,同时仍然专门处理前两种情况。具体来说,我喜欢一个过滤器,它只捕获尚未被过滤的东西,但我也很高兴能够发送多个通知(例如发送sns-notify-dir1和sns-notify -dneric为dir1,但只是sns-notify-generic为dir3)。
dir1/ -> Handled by sns-notify-dir1
dir2/ -> Handled by sns-notify-dir2
/ -> How can I handle with sns-notify-generic?
dir3/ -> How can I handle with sns-notify-generic?
我意识到替代解决方案将起作用,例如只编写一个通用的SNS并让我的实用程序解决是否要监听它,以及将所有内容发送到lambda函数以找出要触发的通知。但是,如果可能的话,我喜欢尽可能干净地编码它的想法。
如果有更多细节可以帮助我,请告诉我,谢谢!