我正在尝试使用cloudformation创建一个s3存储桶,并在最后一个从用户定义参数中提取的任意用户名上标记。在下面,我定义了s3资源。
"S3Bucket" : {
"Type" : "AWS::S3::Bucket",
"Properties" : {
"BucketName" : {
"Fn::Join" :[
"-", [
"test-bucket",
{
"ref": "User"
}
]
]
}
}
我使用this作为资源,但是我从cloudfromation得到了以下错误消息:
模板验证错误:模板错误:每个Fn :: Join对象都需要两个参数,(1)字符串定界符,(2)要连接的字符串列表,或者返回字符串列表的函数(例如Fn) :: GetAZs。
我似乎同时拥有消息中描述的定界符和字符串列表。即使我传递了多个字符串,它仍然会引发相同的错误。
答案 0 :(得分:1)
请将ref
更新为Ref
,以便cloudformation可以识别功能并相应地将其替换为字符串值。
"S3Bucket" : {
"Type" : "AWS::S3::Bucket",
"Properties" : {
"BucketName" : {
"Fn::Join": [
"-", [
"test-bucket",
{
"Ref": "User"
}
]
]
}
}
}