【发布时间】:2018-07-31 11:55:03
【问题描述】:
我有以下 CFN 事件规则,它应该启动 MyLambda。当我运行这个 CFN 模板时,我可以看到创建的规则具有正确的间隔、正确的输入 json 并且它是 ENABLED。但它不会启动。我没有看到我的 lambda 正在创建任何日志(我正在使用打印语句)。
但是当我使用 UI(相同的配置等)创建类似的规则时,它工作正常。我不确定我在这里缺少什么。
CWEventRule:
Type: "AWS::Events::Rule"
Properties:
Description: "Description"
Name: "CWEventRule"
ScheduleExpression: "rate(5 minutes)"
State: "ENABLED"
Targets:
-
Arn:
Fn::GetAtt:
- "MyLambda"
- "Arn"
Id: "MyLambda"
Input: "{\"jsonkey\":\"jsonvalue\"}"
更新了带有角色的 cfn 模板
CloudWatchEventRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
Service:
- !Sub lambda.amazonaws.com
- !Sub events.amazonaws.com
Action: "sts:AssumeRole"
Path: "/"
Policies:
- PolicyName: CloudWatchEventPolicy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- "lambda:InvokeFunction"
Resource: "*"
CWEventRule:
Type: "AWS::Events::Rule"
Properties:
Description: "Description"
Name: "CWEventRule"
ScheduleExpression: "rate(5 minutes)"
State: "ENABLED"
RoleArn: !GetAtt [ CloudWatchEventRole, Arn ]
Targets:
-
Arn:
Fn::GetAtt:
- "MyLambda"
- "Arn"
Id: "MyLambda"
Input: "{\"jsonkey\":\"jsonvalue\"}"
【问题讨论】:
标签: amazon-web-services amazon-cloudformation amazon-cloudwatch