如何解决如何在Cloudformation模板中动态生成键名? 编辑:
我想在下面的代码中使用参数动态设置sql文件的路径。
Template contains errors.: Template format error: [/Resources/MyLaunchConfig/Metadata/AWS::CloudFormation::Init/config/files] map keys must be strings; received a map instead
我尝试过简单地添加对自定义Path参数的引用,但是不幸的是,我从模板设计器中收到以下错误。
{{1}}
如何将这样的路径移动到模板参数中?
编辑:
Intrinsic functions上有关CloudFormation文档的注释中指出:
您只能在模板的特定部分中使用内部函数。 当前,您可以在资源属性中使用内在函数, 输出,元数据属性和更新策略属性。您可以 还使用内在函数有条件地创建堆栈资源。
这似乎表明功能应该在资源属性和元数据属性中可用。它并没有特别地将其限制为这些对象中的值而不是键(尽管这可以由键与值的固有性质来假定)。
解决方法
基于评论。
问题是根据CFN format specification,map
只能是字符串:
地图是键值对的集合,其中键始终是字符串。
因此,一种建议的解决方案是使用UserData
定义动态生成的文件,而不是使用CFN元数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。