【发布时间】:2022-01-03 20:52:14
【问题描述】:
在 CFN 中使用 Join 函数让我抓狂。
它有时有效,有时无效,而且我使用的语法似乎没有任何问题,错误并不一致。模板的验证总是返回 Ok,但在堆栈创建的最后一步,它失败了,有时在创建资源时抛出错误(因为名称格式错误)或给我这个错误消息 every Fn::Join object requires two parameters, (1) a string delimiter and (2) a list of strings to be joined or a function that returns a list of strings (such as Fn::GetAZs) to be joined.。
有没有一种很好的调试方法而不是一路创建资源?
例如,这个语法有什么问题?
BucketName: !Join
- ''
- - !FindInMap
- Naming
- BasicPrefix
- Name
- '-'
- !Ref BusinessUnitName
- '-'
- !Ref EnvType
或者,为什么不能使用类似下面的语法来获得相同的结果?
BucketName: !Join
- '-'
- - !FindInMap
- Naming
- BasicPrefix
- Name
- !Ref BusinessUnitName
- !Ref EnvType
或者这个速记:
BucketName: !Join ['-', [!FindInMap [Naming, BasicPrefix, Name], !Ref BusinessUnitName, !Ref EnvType]]
没有一个会起作用。我必须不断尝试不同的方法,直到 CFN 接受它。太累了。
请帮忙。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation