首页 > 解决方案 > 如何仅通过 put_events 触发 AWS Cloudwatch 事件

问题描述

我的最终目标是基于 API 调用(手动)启动 ECS(fargate)任务/Lambda。创建 CloudWatch 规则时,我必须选择一个服务来监听事件。我不确定我应该为我的目的使用什么服务。最好的事情是什么?我应该创建手动触发的 CloudWatch 警报吗?谢谢

标签: amazon-web-serviceseventsamazon-ecsamazon-cloudwatch

解决方案


因此,您希望基于 API 调用触发 lambda 函数/ECS 任务。此 cloudwatch 事件规则服务将取决于您正在运行的 API 调用的类型。

例如,如果有 S3 Put 事件,那么您将选择 S3 作为服务,然后选择您正在运行的特定 S3 操作

{
  "source": [
    "aws.s3"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "s3.amazonaws.com"
    ],
    "eventName": [
      "PutObject"
    ]
  }
}

如果这是一个非 aws API 调用,那么您可以使用 cloudwatch 日志来触发 Cloudwatch 事件规则。


推荐阅读