为何EventBridge规则未过滤不符合前缀的S3事件?
EventBridge规则过滤S3 Put事件时前缀失效问题
我配置了以下EventBridge规则(已修改具体存储桶名称和键,但模式保持不变)用于触发Lambda函数。然而在过滤S3 Put事件时,规则中的prefix部分似乎被忽略——不符合前缀要求的键仍会触发Lambda,但suffix部分的过滤功能正常。
EventBridge规则内容:
{ "source": ["aws.s3"], "detail-type": ["Object Created"], "detail": { "bucket": { "name": ["some-bucket-20-uat-not-important"] }, "object": { "key": [{ "prefix": "in/Shared/Apps/Report Gen/ClientAnalytic - Upload & Download/" }, { "suffix": ".csv" }] } } }
举个例子:键为in/Shared/Apps/IIC/some_file.csv的事件本不应触发Lambda,但实际却触发了。这个键的后缀匹配要求,但前缀完全不匹配。
我猜测是不是前缀不允许部分匹配?或者可能和规则前缀里的空格、非字母数字字符有关?
我尝试过重新格式化EventBridge规则(比如把['detail']['object']['key']的规则单独声明,而非放在列表中),但没有效果。
2023年12月20日更新:移除后缀后问题解决,看起来规则被解析为键匹配前缀或后缀,而非且的关系。
内容的提问来源于stack exchange,提问作者SamuelCook
相关产品推荐
相关产品推荐

