我有一个运行2个独立lambda的步进函数。如果步进函数失败或超时,我想通过SNS收到一封电子邮件,告诉我步进函数失败了。我使用云形成创建了事件规则,并在事件模式中指定了状态机ARN。当步进函数失败时,不会发送任何电子邮件。如果我删除stateMachineArn参数并运行我的步进函数,我会收到失败的电子邮件。我已经反复检查了无数次,我是否为状态机输入了正确的ARN。事件规则的CF如下(YAML格式)。谢谢。
FailureEvent:
Type: AWS::Events::Rule
DependsOn:
- StateMachine
Properties:
Name: !Ref FailureRuleName
Description: "EventRule"
EventPattern:
detail-type:
- "Step Functions Execution Status Change"
detail:
status:
- "FAILED"
- "TIMED_OUT"
stateMachineArn: ["arn:aws:states:region:account#:stateMachine:statemachine"]
Targets:
-
Arn:
Ref: SNSARN
Id: !Ref SNSTopic
我确实对其进行了修复和扩展,以调用lambda,该lambda使用lambda发布自定义SNS电子邮件。我的EventPattern部分中的对齐方式不正确。见下文。感谢@Marcin。
FailureEvent:
Type: AWS::Events::Rule
DependsOn:
- FMIStateMachine
Properties:
Description: !Ref FailureRuleDescription
Name: !Ref FailureRuleName
State: "ENABLED"
RoleArn:
'Fn::Join': ["", ['arn:aws:iam::', !Ref 'AWS::AccountId', ':role/', !Ref LambdaExecutionRole]]
EventPattern:
detail-type:
- "Step Functions Execution Status Change"
detail:
status:
- "FAILED"
- "TIMED_OUT"
stateMachineArn: [!Ref StateMachine]
Targets:
- Arn:
'Fn::Join': ["", ['arn:aws:lambda:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':function:', !Ref FailureLambda]]
Id: !Ref FailureLambda
Input: !Sub '{"failed_service": "${StateMachineName}","sns_arn": "arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${SNSTopic}"}'
我正在尝试设置Cloudwatch事件规则来通知任何AWS IAM操作,例如DeleteUser或CreateUser。但是当我尝试创建事件模式时,我在服务名称列表中找不到IAM,即使当我在AWS留档中搜索时,我找不到Cloudwatch事件规则不支持IAM的提及。所以我尝试创建一个自定义事件,但我没有收到来自SNS(我的目标)的任何电子邮件,是的,我确保Cloudwatch具有调用SNS的权限,
我有一个状态机,有三种可能的状态:状态1,状态2,状态3。 每当一个对象进入状态_3时,我想触发一个事件event1。 在我state_machine,我有 但只要状态从state1更改为state3或从state2更改为state3,就会正确触发事件。但当状态从state3转换到state3时,不会触发event1。我怎样才能做到这一点? 我知道从3号州到3号州不是一个州的过渡。我可以使用类似于
我正在使用AWS Clouwatch事件规则调用一个基于Cron调度的python lambda函数,该函数运行良好。现在,我可以使用AWS Cloudformation将参数从cloudwatch偶数规则传递到这个lambda函数中吗?请你带路好吗?请参见以下我的cfn模板:
我正在寻找一个CloudWatch事件规则/事件模式,以便在任何可用服务器的运行状况检查1/2通过时得到通知。当我探索时,得到了CloudWatch警报选项,但如果我有10个实例,那么我需要配置10个警报。我的目标是使用EC2事件或CloudTrail事件构建一个单独的cloudwatch规则,该规则将检测区域中所有服务器的EC2运行状况检查。
我在构建APK时收到此错误。 试图使缓存无效并重新启动android studio。重建项目,但没有一个适合我。
我想使用针对SNS主题的CloudWatch事件规则获取AWS Health的所有事件。 个人健康仪表板(AWS Health)在全球范围内运行,但CloudWatch事件规则设置在特定区域,例如EU-Central-1。 这里的问题是:我应该从AWS运行状况中检索所有区域的所有事件,还是将事件的范围限定到CloudWatch事件规则所在的区域?