首页 > 解决方案 > AWS - 如何根据 Cloudtrail 事件名称触发 Lambda

问题描述

我设置了一条 cloudtrail 路径。它进入 CloudWatch,我有一个事件规则,当指定的事件名称出现时,我想触发一个 lambda。我尝试了不同的规则,同时观看了 Cloudtrail 和 Cloudwatch,但无法让它调用我的 Lambda。

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

当日志中显示事件名称“CreateFunction20150331”时,上述内容不会触发我的 lambda。

标签: amazon-web-servicesaws-lambdaamazon-cloudwatchamazon-cloudtrail

解决方案


你的来源是错误的。它应该是这样的:

{
"detail": {
  "eventSource": [
    "lambda.amazonaws.com". 
  ],
  "eventName": [
    "CreateFunction20150331"
  ]
 }
}

create 函数对于 cloudtrail 中的内容是正确的。如果有帮助,我偶然发现了这个有助于编写正确事件的工具:

https://www.intelligentdiscovery.io/tools/cloudtrailevents


推荐阅读