任何人都可以解释一下为什么在美国东部允许使用大写字母而在其他地区不允许使用大写字母吗?
link:http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
答案 0 :(得分:6)
您的问题的答案与您所指的链接相同,
符合DNS标准的存储桶名称允许客户从新网站中受益 功能和运营改进,以及提供支持 用于虚拟主机样式访问存储桶。 而美国东部(N. 弗吉尼亚州)当前允许不合规的DNS桶命名,我们 正在转向相同的DNS兼容的存储桶命名约定 未来几个月美国东部(弗吉尼亚北部)地区。这确保了 适用于Amazon S3存储桶的单一,一致的命名方法。
美国东部地区是最古老的AWS地区之一,较新的更改可能需要一段时间才能实施。
答案 1 :(得分:2)
这是向后兼容的传统功能。
S3的us-east-1区域是原始的S3区域。它的设计具有一定的限制,亚马逊无疑在其他地区上线之前已经学了好几年的课程。
在添加其他区域之前,设计人员认为对服务施加额外限制是有意义的 - 但他们无法在不破坏现有客户和应用程序的情况下将这些限制添加到我们东方1中。
回想起来,只有小写的桶名称的要求似乎很明显,但是现有的应用程序已经在使用该服务,因此无法对us-east-1施加此要求。
有关这些规则在您引用的页面上“在未来几个月内”发生变化的评论。这可能意味着AWS将停止允许创建此类存储桶,但旧存储桶似乎不太可能无法访问。
有趣的琐事:S3 REST API在十多年中没有发生过变化。在那段时间内添加的所有功能都以这样一种方式实现,即不知道这些功能的现有应用程序不应受到影响。
这种向后兼容似乎是一些看起来令人困惑的S3行为的核心,例如us-east-1中的不同存储桶命名规则,为什么区域端点是s3-external-1
而不是{ {1}}或s3-us-east-1
,以及该区域中存储区的位置约束为“空字符串”而不是s3.us-east-1
的原因。
该地区以前在整个文档中被称为“美国标准”,但随后重新命名为与其他地区保持一致。 us-east-1的us-east-1
子域中的各个主机名条目实际上会自动重新映射到在不同区域中创建的任何存储桶的特定区域的端点。不存在的桶遵循通配符回到us-east-1。