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

Cloudformation参数图并使用!join加入API Gateway uri

如何解决Cloudformation参数图并使用!join加入API Gateway uri

我正在使用映射来映射API Gateway URI WRT区域和环境。在使用!FindInMap [KensisAPIMap,!Ref“ AWS :: Region”,!Ref envname]]]

的策略中

使用下面的模板片段创建堆栈时,我得到“模板错误:每个Fn :: Join对象都需要两个参数,(1)字符串定界符,(2)要连接的字符串列表或函数返回要连接的字符串列表(例如Fn :: GetAZs)。“ 错误

Mappings: 
 DataAPIMap: 
  us-west-2: 
    DevOne: "09lvg5kd1l/*/PUT/*/*/*/v2"
    TestOne: "default"
  eu-central-1: 
    devTwo: "sixv6a77sg/*/PUT/*/*/*/v2"
    TestTwo: "default" 
 KensisAPIMap: 
  us-west-2: 
    devOne:
        - !Join ["",[!Sub '${AWS::Region}:${AWS::AccountId}:we4x5ulbsl/*/PUT/s']]
  eu-central-1: 
    devTwo: 
        - !Join ["",[!Sub 'us-west-2',!Ref KensisActId,':we4x5ulbsl/*/PUT/s']]
Resources:
   ----

谢谢

解决方法

在us-west-2:devOne中,您似乎根本不需要Join。 所以:

KensisAPIMap: 
  us-west-2: 
    devOne: !Sub '${AWS::Region}:${AWS::AccountId}:we4x5ulbsl/*/PUT/s'

关于devTwo尝试这样吗?注意缩进

devTwo: 
    Fn::Join: 
     - ""
     - - us-west-2 
       - !Ref KensisActId 
       - :we4x5ulbsl/*/PUT/s

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