k2s*_*2so 4 amazon-web-services aws-cloudformation amazon-cloudwatch
我正在创建一个 Cloudwatch 事件规则,如果 Step Function 进入失败或超时状态,该规则应该触发 lambda。云监视事件规则会将参数传递给 lambda,该 lambda 将发送自定义 SNS 电子邮件。我正在尝试将输入参数的值从我在 Cloudformation 模板中设置的参数传递到 Cloudwatch 事件规则中。我无法让 Cloudformation 提取参数值并将其放入 Cloudwatch 事件规则输入参数中。CF 获取我在 JSON 中提供的文字值并将其放入 Cloudwatch 事件规则中。我正在使用带有 JSON 参数文件的 YAML 模板。发布下面的代码。
FailureEvent:
Type: AWS::Events::Rule
DependsOn:
- StateMachine
Properties:
Description: !Ref FailureRuleDescription
Name: !Ref FailureRuleName
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: '{"failed_service": "!Ref StateMachineName","sns_arn": {"Fn::Join":[":",["arn: aws: sns",{"Ref": "AWS: : Region"},{"Ref": "AWS::AccountId"},{"Ref": "SNSTopic"}]]}}'
Run Code Online (Sandbox Code Playgroud)
您可以使用子:
Input: !Sub '{"failed_service": "${StateMachineName}","sns_arn": "arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${SNSTopic}"}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5451 次 |
| 最近记录: |