代码之家  ›  专栏  ›  技术社区  ›  Vikas Rathore

YAML中的云形成功能

  •  0
  • Vikas Rathore  · 技术社区  · 6 年前

    我犯了一个愚蠢的错误,谁能帮帮我吗

    我希望CF模板中的服务角色为:

    ServiceRole: arn:aws:iam::1234556:role/service-role/awsBatchServiceRole(parameter)
    

    我正在使用以下代码,但出现错误

    ServiceRole:!Join ["/", [!Sub arn:aws:iam::${AWS::AccountId}:role/service-role, !Ref BatchServiceRole]]
    

    错误:

    Template validation error: Template format error: YAML not well-formed.
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   Mitms    6 年前

    我也遇到过类似的问题。在打开括号之后和关闭括号之前添加空格似乎可以解决这些问题。

    AWS CloudFormation用户指南中的所有示例都包括在执行特殊函数时使用大括号或方括号前后的额外空格。

    您的代码行将变成:

    ServiceRole: !Join [ "/", [ !Sub 'arn:aws:iam::${AWS::AccountId}:role/service-role', !Ref BatchServiceRole ] ]
    

    编辑:OP添加了内联使用 !Sub 作用

        2
  •  0
  •   kichik    6 年前

    尝试:

    ServiceRole: !Sub 'arn:aws:iam::${AWS::AccountId}:role/service-role/${BatchServiceRole}'
    

    如果这不起作用,请包括您得到的实际错误。