AWS Cloudformation 模板错误:每个 Ref 对象必须有一个字符串值

AWS Cloudformation 模板错误:每个 Ref 对象必须有一个字符串值
SNSTopic
    Type: 'AWS::SNS'......
SNSTopic2  
    Type: 'AWS::SNS'.......
EventRule:
    Type: 'AWS::Events::Rule'
    Properties:
      Name: !Ref EventRuleName
      Description: 
      State: ENABLED
      EventPattern: '
        {
        }'
      Targets:
        - Arn: 
            Ref: !Sub 'SNSTopic${EmailCount}' ## Issue here
          Id: LATEST

EmailCount 是输入参数,例如此处的 2

我想根据输入参数传递动态目标 arn SNSTopic 或 SNSTopic2..如果我对 SNSTopic/SNSTopic2 进行硬编码,它就可以工作..我如何使用!Sub 或!Join?

答案1

在这种情况下,使用完整形式Fn::Ref

      Targets:
        - Arn: 
            Fn::Ref: !Sub 'SNSTopic${EmailCount}' # Note Fn::Ref instead of just Ref

那应该可行。

相关内容