Dmi*_*bin 6 amazon-web-services aws-cloudformation
在编译模板时我遇到了很奇怪的问题,我在其中引用了一个字符串参数Fn::Sub
,而文档明确地说可以使用Ref
内部的函数Fn::Sub
.这是一块模板:
"Resources": {
"LaunchConfiguration": {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties" : {
"UserData": { "Fn::Base64": { "Fn::Sub": { "Ref": "UserDataParam" } } },
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
模板错误:一个或多个Fn :: Sub内部函数未指定预期参数.指定字符串作为第一个参数,并指定可选的第二个参数以指定要在字符串中替换的值的映射
当我使用完整符号:时{ "Fn::Sub": [ { "Ref": "UserDataParam" }, {} ] }
,我得到完全相同的错误.有没有人有同样的问题?是否可以在使用参数时避免使用它?
您不能在 Fn::Sub 函数调用中直接使用 Ref。要实现值映射,首先必须将 Ref 值分配给局部变量并在 Fn::Sub 字符串中使用该变量。
"UserData": {
"Fn::Base64": {
"Fn::Sub": [
"${variable}",
{
"variable": {
"Ref": "myS3Bucket"
}
}]
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3408 次 |
最近记录: |