【问题标题】:Fn::ImportValue does not match type {Array}Fn::ImportValue 与类型 {Array} 不匹配
【发布时间】:2023-03-29 12:15:01
【问题描述】:

我在使用 CloudFormation 中的导出和导入功能时遇到了问题。当我尝试导入一个实际上是列表(数组)的值时,我收到以下错误消息“与类型 {Array} 不匹配”。

vpc.yaml (sn-p)

PrivateSubnets:
  Description: A list of the private subnets
  Value: !Join [",", [!Ref PrivateSubnetOne, !Ref PrivateSubnetTwo]]
  Export:
    Name: !Join ["-", [!Ref "Environment", "PrivateSubnets"] ]

pipeline.yaml (sn-p)

Subnets:
  Fn::ImportValue: !Sub "${Environment}-PrivateSubnets"

错误信息:

    Property validation failure: [Value of property {/VpcConfig/Subnets} does not match type {Array}

【问题讨论】:

    标签: arrays amazon-web-services yaml amazon-cloudformation


    【解决方案1】:

    Split + Select 应该可以工作,因为您可以拆分数组并单独选择每个项目,例如:

    !Select [2, !Split [",", !ImportValue AccountSubnetIDs]]
    

    ...从导入的子网 ID 数组中选择第二个元素。

    【讨论】:

      【解决方案2】:

      此代码解决了问题;

      Subnets: !Split 
         - ","
         - Fn::ImportValue: 
             !Sub "${Environment}-PrivateSubnets"
      

      【讨论】:

        猜你喜欢
        • 2018-05-09
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多