AWS Cloudformation S3 存储桶名称已存在
AWS Cloud Formation S3 Bucket Name already exist
我正在尝试使用以下云形成模板创建一个存储桶:
{
"Resources": {
"LoggingBucket": {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": {
"Fn::Join": [
"/",
[
{
"Ref": "AWS::Region"
},
{
"Ref": "Environment"
},
"backend-logs"
]
]
}
}
}
}
}
但是,创建堆栈时出现以下错误:
us-east-1/development/backend-logs already exists
似乎错误有点误导 - 如果我将 /
更改为 .
,它会起作用。
我还检查了 documentation,虽然 /
似乎是一个无效字符,但似乎 /
可能与他们自己的内部命名模式或其他东西冲突。
我是正确的还是遗漏了什么?
问题不在于斜杠,而在于存储桶名称。
当您使用 us-east-1/development/backend-logs
时,它会尝试创建一个名为 "development" 的存储桶,其中包含一个子文件夹 "backend-logs",而 "development" 是一个非常常见的名称,已经被某些人使用了和 S3 存储桶遵循通用命名约定,这就是为什么该名称不可用的错误。
当您使用 us-east-1/development.backend-logs
时,它会按可用的名称 "development.backend-logs" 创建存储桶,这就是创建存储桶的原因。
我正在尝试使用以下云形成模板创建一个存储桶:
{
"Resources": {
"LoggingBucket": {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": {
"Fn::Join": [
"/",
[
{
"Ref": "AWS::Region"
},
{
"Ref": "Environment"
},
"backend-logs"
]
]
}
}
}
}
}
但是,创建堆栈时出现以下错误:
us-east-1/development/backend-logs already exists
似乎错误有点误导 - 如果我将 /
更改为 .
,它会起作用。
我还检查了 documentation,虽然 /
似乎是一个无效字符,但似乎 /
可能与他们自己的内部命名模式或其他东西冲突。
我是正确的还是遗漏了什么?
问题不在于斜杠,而在于存储桶名称。
当您使用 us-east-1/development/backend-logs
时,它会尝试创建一个名为 "development" 的存储桶,其中包含一个子文件夹 "backend-logs",而 "development" 是一个非常常见的名称,已经被某些人使用了和 S3 存储桶遵循通用命名约定,这就是为什么该名称不可用的错误。
当您使用 us-east-1/development.backend-logs
时,它会按可用的名称 "development.backend-logs" 创建存储桶,这就是创建存储桶的原因。