CloudFormation 脚本中的条件 KinesisStreamSpecification

Conditional KinesisStreamSpecification in CloudFormation script

我是 CloudFoundation 脚本的新手,正在尝试使用 yaml 文件为 AWS DDB table 设置条件属性。

尝试了以下但在堆栈形成期间出现错误 - 属性 StreamArn 不能为空。

在这种情况下似乎不允许 AWS::NoValue。

我们可以在条件上设置 'KinesisStreamSpecification' 属性 本身吗?

      KinesisStreamSpecification:
          StreamArn: !If
          - ShouldAttachKinesis
          - !Sub "arn:aws:kinesis:SomeValue"
          - !Ref "AWS::NoValue"

您的 If 应该更上一层楼:

      KinesisStreamSpecification:
        !If
          - ShouldAttachKinesis
          - StreamArn: !Sub "arn:aws:kinesis:SomeValue"
          - !Ref "AWS::NoValue"