如何在Fn :: Sub for SecondaryLevel Key中使用内部函数

时间:2017-08-26 15:33:06

标签: amazon-web-services amazon-cloudformation

我正在尝试使用FN :: Sub构建二级关键字,如下所示。验证器只接受一个字符串。我错过了什么?

" ImageId":{" Fn :: FindInMap" :[" RegionMap",{" Ref" :" AWS :: Region" },{" Fn :: Sub":" AMI $ {SQLServerVersion}"}]},

1 个答案:

答案 0 :(得分:0)

希望能为别人节省一些时间,有两个重要的发现重新Fn :: FindInMap

  1. 辅助密钥只能包含字母数字字符(否 - 或_等)
  2. 仅支持" Ref"功能
  3. 由于这些限制,我添加了一个映射

      "SQLServerMap": {        
        "eu-west-1": {
          "2008": "ami-14b4446d",
          "2012": "ami-5fd72526",
          "2016": "ami-8b7f8ef2" 
        }
      }
    

    然后模板现在用

    验证

    " ImageId":{" Fn :: FindInMap" :[" SQLServerMap",{" Ref" :" AWS :: Region" },{"参考" :" SQLServerVersion" }]}