当前位置: 首页 > 知识库问答 >
问题:

将参数输入Cloudwatch事件规则Cloudformation中的输入参数

晋天逸
2023-03-14

我正在创建一个Cloudwatch事件规则,如果步骤函数进入故障或超时状态,它应该会触发lambda。云观察事件规则将参数传递给lambda,这将发送一封自定义的SNS电子邮件。我正在尝试将输入参数的值从我在云形成模板中设置的参数传递到Cloudwatch事件规则中。我无法让Cloudform将参数值提取出来,将它们放入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"}]]}}'

共有1个答案

林意蕴
2023-03-14

您可以使用Sub:

Input: !Sub '{"failed_service": "${StateMachineName}","sns_arn": "arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${SNSTopic}"}'
 类似资料:
  • 我正在使用AWS Clouwatch事件规则调用一个基于Cron调度的python lambda函数,该函数运行良好。现在,我可以使用AWS Cloudformation将参数从cloudwatch偶数规则传递到这个lambda函数中吗?请你带路好吗?请参见以下我的cfn模板:

  • 我想知道为什么Java程序在运行时只从命令行获取字符串形式的参数?我读过,如果参数声明为int,它仍然将int转换为字符串。为什么会出现这种情况?并且在运行java程序时,有没有办法只从命令行接受int值呢?

  • 我试图将两个数组和一个整数从另一个方法引入到写入文件的方法中。我试着用论据来解释,但没有用。希望你能帮忙 这是我如何传递参数从方法持有arry信息。 此方法旨在使用传递的数组参数创建文件。 这是读取文件的方法 请你能告诉我哪里出了问题,我如何创建一个文件,保存数组并稍后读取文件。 *************编辑代码******************** { }公共静态无效读取()抛出IOExce

  • 我正在制作一个CloudFormation模板,以捕获将CloudWatch事件发送到Kinesis Firehose交付流的流程的组件。(它在AWS中工作,通过控制台手动配置。) 当我定义AWS::E通风口::规则时,有一个目标属性需要有效目标的ARN。问题是资源不支持检索其ARN,只返回其逻辑ID。(Fn::GetAtt可用于获取的ARN,但没有。) 我是不是走错了路,或者这只是云阵还不支持的

  • 问题内容: 我已经在这里(以及其他论坛)使用过搜索,但是没有找到与我要执行的操作完全相同的答案。 我知道可以很容易地以其他方式完成它,这只是我为大学课程编写的一个小沙盒框架…在真实的环境中,我只会学习Spring,Hibernate等。 因此,我所做的就是使用POJO为自己编写一个小型的通用数据访问层,并使用通用方法来检索,检查数据或将数据插入数据库(Oracle)。大多数操作是通过Prepare

  • 我正在学习如何使用Mybatis。老实说,我很喜欢这个框架。它很容易使用,我对它很满意,因为我可以使用它的sql命令:)我使用MyBatis 3.4.2和PostgreSQL数据库。 例如,我喜欢在插入之前使用注释执行查询是多么容易。如果我在接口方法之前添加一些注释,那么数据映射就像一个迷人的例子,比如:。 我不喜欢的(我希望你能把我引向正确的方向)有以下几点: 使用JDBC时,我需要做到以下几点