Cloudwatch:监控 S3 文件的事件类型语法

Cloudwatch: event type syntax for monitoring S3 files

我需要创建一个 cloudwatch 事件,每当我在 S3 中的文件获取 updated/re-uploaded 时运行 lambda 函数。我应该使用什么“eventName”?我尝试使用“ObjectCreated”,但它似乎不起作用。也许语法不正确。

https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html

{
  "source": [
    "aws.s3"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "s3.amazonaws.com"
    ],
    "eventName": [ "ObjectCreated:*"],
    "requestParameters": {
      "bucketName": [
        "mynewbucket"
      ],
      "key": [
        "file.csv"
      ]
    }
  }
}

CloudWatch Events(或 EventBridge)不会自动跟踪 S3 对象的数据事件。您需要为此使用 CloudTrail,它跟踪特定 S3 存储桶上的数据事件并为此发出 CloudWatch Events(或 EventBridge)事件:https://aws.amazon.com/blogs/compute/using-dynamic-amazon-s3-event-handling-with-amazon-eventbridge/

或者您可以将 S3 Event Notifications 与 SNS 主题一起使用,并在 SNS 主题上使用 Lambda 订阅。