微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

目标的 AWS::Events::Rule 输入不是有效的 JSON 文本

如何解决目标的 AWS::Events::Rule 输入不是有效的 JSON 文本

我的 SAM template.yml 中有以下资源:

MetricsRule:
  Type: AWS::Events::Rule
  Properties:
    Name: MetricsRule
    Description: Puts metrics to the CloudWatch log group
    EventBusName: !FindInMap [LambdaConfig,!Ref stage,eventBusName]
    EventPattern:
      detail:
        status:
          - GENERATED
    State: !FindInMap [LambdaConfig,eventEnabled]
    Targets:
      - Id: LogGroupTarget
        Arn: !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:${LogGroup}"
        InputTransformer:
          InputPathsMap:
            customer-id: $.detail.customerId
            destination-type: $.detail.destinationType
            provider-id: $.detail.providerId
          InputTemplate: '"cusId = <customer-id> - <destination-type> for <provider-id>"'

如果我尝试部署此堆栈,它会失败并显示异常 Input for target LogGroupTarget is not a valid JSON text.

UPD:

如果我将 InputTemplate 设为 '{"message":"cusId = <customer-id> - <destination-type> for <provider-id>"}',它会起作用。但是,在文档、示例甚至 UI 中字段的占位符中,Input Template: A string containing placeholders which will be filled with values defined in Input Paths e.g. "The state of Instance <instance> is <state>"

是否可以将 InputTemplate 指定为字符串?

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。