【发布时间】:2021-03-12 02:09:01
【问题描述】:
我正在尝试使用 BOTO3 创建规则,但即使这些规则针对 lambda 函数,它仍然根本不会触发它们。
可以触发规则但每次调用都失败。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cloudwatch
我正在尝试使用 BOTO3 创建规则,但即使这些规则针对 lambda 函数,它仍然根本不会触发它们。
可以触发规则但每次调用都失败。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cloudwatch
当您以编程方式创建 CloudWatch Event Rules 时,您需要添加必要的权限以及何时允许 CloudWatch 调用您的 lambda。
以下是添加到 lambda 以允许名为 mycustomrule 的 cloudwatch 事件规则调用名为 mynode 的 lambda 的基于资源的策略
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "AWSEvents_mycustomrule_Id6319267638851",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-1:12345678990:function:mynode",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:events:us-east-1:12345678990:rule/mycustomrule"
}
}
}
]
}
由于您没有提供有关正在发生的事情的太多信息,因此这是我从您的帖子中的第一个猜测。
Tutorial: Schedule AWS Lambda Functions Using CloudWatch Events
【讨论】:
boto3 完成的,但现在您提到了 console 的行为。如果您检查我在答案中添加的链接,您可以添加必要的权限,这将通过 CLI 产生类似上面的内容,如附件文档中所述。如果您通过console 进行操作,您可以通过您获得的表格或转到cloudwatch 服务进行操作,它会像这样询问您CloudWatch Events will add necessary permissions for target(s) so they can be invoked when this rule is triggered.