【问题标题】:How to trigger an AWS Event Rule when a S3 key with a specific suffix gets uploaded上传具有特定后缀的 S3 密钥时如何触发 AWS 事件规则
【发布时间】:2020-07-11 19:02:15
【问题描述】:

我正在尝试创建一个 AWS 事件规则,该规则仅在具有特定后缀的文件上传到 S3 存储桶时触发。

{
  "source": [
    "aws.s3"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "s3.amazonaws.com"
    ],
    "eventName": [
      "PutObject",
      "CompleteMultipartUpload"
    ],
    "requestParameters": {
      "bucketName": [
        "bucket-name"
      ],
      "key": [
        { "suffix": ".csv" }
      ]
    }
  }
}

据我了解,AWS 有可以使用的基于内容的过滤,但文档没有显示使用后缀的能力,仅在其他模式中使用前缀:https://docs.aws.amazon.com/eventbridge/latest/userguide/content-filtering-with-event-patterns.html

理想情况下,我可以在不需要中间 Lambda 的情况下执行此操作,因为我的事件目标是 ECS Fargate 任务。

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudwatch


    【解决方案1】:

    目前(2020 年 7 月)CloudWatch 事件没有似乎内置了后缀过滤。

    您可以改为配置一个S3 Event Notification,它确实支持指定前缀和后缀的能力。

    通过使用 S3 事件通知,您仍然可以将目标设为 Lambda。

    【讨论】:

    • 嗨 Chris,我的目标实际上是一个 ECS Fargate 任务,我确实想要一个中间 Lambda。
    • @AaronZhong 目前没有选项可以为 CloudWatch 事件使用带有内容过滤的后缀(相对较新)。希望将来我们会看到这个添加。另一种方法是让所有你想传递的文件都带有一个特定的前缀,这样你就可以将你的 Fargate 任务作为直接目标。
    • @ChrisWilliams 我们现在有这个功能可以在 cloudwatch 规则中添加后缀吗?
    • 我唯一担心的是,如果创建了一个新的空文件夹,我的目标会触发事件。我只是想避免这种情况。
    • 你可以去 S3 活动 -> SNS -> Eventbridge -> Fargate
    猜你喜欢
    • 2020-02-27
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 2012-08-08
    • 2019-07-15
    • 2013-08-11
    • 2021-10-08
    • 2020-09-20
    相关资源
    最近更新 更多