解决失败的CloudWatch事件

问题描述

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参数是正确的...

enter image description here

如何对失败的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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...