You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改EventBridge规则排除特定S3文件触发Lambda函数

修改EventBridge规则排除特定前缀文件的方法

要实现排除以"abc"开头的.txt/.csv文件,你需要在原事件模式的requestParameters.key字段中添加否定匹配规则,利用EventBridge的anything-but操作符来排除符合特定模式的对象键。

修改后的完整事件模式

{
    "detail": {
        "eventName": [
            "PutObject",
            "CopyObject",
            "CompleteMultipartUpload"
        ],
        "eventSource": [
            "s3.amazonaws.com"
        ],
        "requestParameters": {
            "bucketName": [
                "<bucket_name>"
            ],
            "key": [
                {
                    "wildcard": "folder_name/*/*.csv"
                },
                {
                    "wildcard": "folder_name/*/*.txt"
                },
                {
                    "anything-but": {
                        "wildcard": "folder_name/*/abc*.csv"
                    }
                },
                {
                    "anything-but": {
                        "wildcard": "folder_name/*/abc*.txt"
                    }
                }
            ]
        }
    },
    "detail-type": [
        "AWS API Call via CloudTrail"
    ],
    "source": [
        "aws.s3"
    ]
}

关键修改说明

  • 保留原有的wildcard规则,确保匹配目标路径下的.csv/.txt文件
  • 添加两个anything-but规则:分别排除folder_name/*/abc*.csv和folder_name/*/abc*.txt模式的文件,其中abc*表示所有以"abc"开头的文件名
  • EventBridge会同时满足所有匹配条件:文件必须符合原wildcard规则,且不匹配任何anything-but中的排除模式

注意事项

  • 确保你的S3存储桶已经启用了CloudTrail日志记录,因为该EventBridge规则依赖CloudTrail生成的S3 API调用事件
  • 验证wildcard语法:*匹配任意长度的字符(包括空字符),如果需要更精确的匹配(比如仅排除以abc开头且后面有字符的文件),可以调整为abc?.csv(?匹配单个字符)

内容的提问来源于stack exchange,提问作者Aakash Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:34:56