我正在尝试创建一个具有类似标签的 SecurityGroup Name: SG-StackName
。此代码在 json 中完美运行:
"Resources": {
"SecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
...
"Tags": [{
"Key": "Name",
"Value": {
"Fn::Join" : [ "", [
"SG-",
{ "Ref" : "AWS::StackName" }
]]
}
}
]
}
},
现在我正在尝试将其转换为 yaml:
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
...
Tags:
- Key: Name
- Value: !Join
- ''
- - 'SG-'
- Ref: AWS::StackName
堆栈构建失败并出现错误“在标签属性中找不到键”。模板的错误在哪里?
标签定义中有一个额外的“-”字符。它应该类似于下面的代码片段(我不确定 Join 语法,我个人通常使用 Sub):