AWS S3:[else / unmatched] [event / prefix / suffix]

时间:2016-04-14 18:06:20

标签: amazon-web-services amazon-s3 filter notifications amazon-sns

在通知文档(下面的链接)中,通知配置的示例解释了具有重叠前缀/后缀组合的配置无效。

Notification How To

但是,没有任何细节可以捕获任何未指定的前缀。如果我有一个带有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函数以找出要触发的通知。但是,如果可能的话,我喜欢尽可能干净地编码它的想法。

如果有更多细节可以帮助我,请告诉我,谢谢!

0 个答案:

没有答案