问题描述
cloudformation模板的此部分创建事件,但实际上不执行该事件。
MyCWEventRule:
Type: AWS::Events::Rule
Properties:
Name: my-batch-event-rule
ScheduleExpression: cron(01 07 ? * * *)
State: ENABLED
Targets:
- Id: my-batch-job
Arn: !Ref Queue
BatchParameters:
JobDeFinition: !Ref StartJob
JobName: tds-job
RoleArn: !Join [ "",[!Sub "arn:aws:iam::${AWS::AccountId}:role/service-role/",!Ref ruleIAMRole]]
没有日志可以检查问题所在。如果我自己使用控制台提交作业,则可以正常工作。 如这张图片所示,cron中提到的Job DeFinition参数是正确的...
如何对失败的cloudwatch事件进行故障排除?
更新:
当我单击“编辑”并使用“为此特定资源创建新角色”时,它将起作用。 这意味着生产线有问题...
RoleArn:!加入[“”,[!Sub “ arn:aws:iam :: $ {AWS :: AccountId}:role / service-role /”,!Ref ruleIAMRole]]
解决方法
您猜对了! ARN角色路径中无需“服务角色”。看起来应该像这样...
RoleArn: !Join [ "",[!Sub "arn:aws:iam::${AWS::AccountId}:role/",!Ref ruleIAMRole]]
甚至更好:
RoleArn: !GetAtt ruleIAMRole.Arn