Bal*_*i V 5 amazon-web-services aws-cloudformation
我正在尝试使用fn::sub其中的Ref。
我有一个字符串“ Comment xyz $ {NAME}”。该字符串作为堆栈的参数。假设参数名称为“ test”。
我现在想使用fn::subCloudformation脚本中的函数替换字符串中的$ {NAME} 。
fn::sub:[{"Ref":"test"},{"NAME":"balaji"}]
Run Code Online (Sandbox Code Playgroud)
预期输出为“评论xyz balaji”。
但是,这是我得到的错误:
模板验证错误:模板错误:一个或多个Fn :: Sub内部函数未指定期望的参数。指定一个字符串作为第一个参数,并指定一个可选的第二个参数来指定要替换的值的映射
让我知道这里需要解决的问题。
Ale*_*vey 11
根据docs,第一个参数Fn::Sub必须是:
一个字符串,其中包含 AWS CloudFormation 在运行时替换为其关联值的变量。将变量写为 ${MyVarName}。变量可以是模板参数名称、资源逻辑 ID、资源属性或键值映射中的变量。如果您仅指定模板参数名称、资源逻辑 ID 和资源属性,请不要指定键值映射。
(加了重点。)
因此,(在撰写本文时)不可能做到这一点。
如果你有一个参数:
"test": {
"Type": "String",
"Default": "Comment xyz ${NAME}"
}
Run Code Online (Sandbox Code Playgroud)
然后替换:
"Fn::Sub": ["${test}", {"NAME": "balaji"}]
Run Code Online (Sandbox Code Playgroud)
替换将产生文字 string Comment xyz ${NAME}。
| 归档时间: |
|
| 查看次数: |
4225 次 |
| 最近记录: |