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

如何配置Event Bridge规则,在S3指定子文件夹上传CSV后触发Lambda

修正S3上传CSV触发Event Bridge规则的问题

你的S3存储桶路径为s3://bucket_name/data/,每天会在data目录下创建以当日日期命名的子文件夹(例如040423),并将CSV文件上传至该子文件夹中。你想配置Event Bridge规则,仅在CSV文件上传到这类日期子文件夹时触发,但当前的事件模式没生效,以下是两种修正方案:

方案一:过滤子文件夹层级

这种方式能确保CSV文件在data/下的任意子文件夹中,而非直接放在data/根目录:

{
  "detail-type": ["AWS API Call via CloudTrail"],
  "source": ["aws.s3"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["PutObject"],
    "requestParameters": {
      "bucketName": ["bucket_name"],
      "key": [
        {
          "prefix": "data/"
        },
        {
          "suffix": ".csv"
        },
        {
          "contains": "/"
        }
      ]
    }
  }
}

方案二:精确匹配日期子文件夹格式

如果日期子文件夹是固定6位数字格式(比如示例中的040423),可以用正则表达式精确匹配路径,避免非日期子文件夹触发:

{
  "detail-type": ["AWS API Call via CloudTrail"],
  "source": ["aws.s3"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["PutObject"],
    "requestParameters": {
      "bucketName": ["bucket_name"],
      "key": {
        "regex": "^data/\\d{6}/.*\\.csv$"
      }
    }
  }
}

关键注意事项

  • 必须确保你的S3存储桶已经开启CloudTrail日志记录,且CloudTrail包含PutObject事件——因为这条Event Bridge规则依赖CloudTrail捕获的API调用事件。
  • 测试时可以上传一个CSV到日期子文件夹,然后在Event Bridge的规则页面查看匹配情况,或者去CloudTrail确认对应的事件是否被正常记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:40:28