gpt4 book ai didi

amazon-s3 - 为什么 S3 和 Google Storage 存储桶名称是全局命名空间?

转载 作者:行者123 更新时间:2023-12-02 20:22:36 26 4
gpt4 key购买 nike

这让我很困惑。我显然可以理解为什么帐户 ID 是全局的,但为什么存储桶名称呢?

拥有类似以下内容不是更有意义吗:https://accountID.storageservice.com/bucketName

这将在 accountID 下命名存储桶。

我错过了什么,为什么这些显然是精英架构师选择以这种方式处理存储桶名称?

最佳答案

“The bucket namespace is global - just like domain names”

http://aws.amazon.com/articles/1109#02

这不仅仅是巧合。

原因似乎很简单:存储桶及其对象可以通过与存储桶名称相同的自定义主机名进行访问...并且存储桶可以 optionally host an entire static web site -- S3 自动将来自传入 Host: header 的请求映射到同名的存储桶上。

在 S3 中,这些变体 URL 引用存储桶“bucket.example.com”中的同一对象“foo.txt”。第一个需要启用静态网站托管,并且需要 DNS CNAME(或 Route 53 中的别名)或指向区域 REST 端点的 DNS CNAME;其他不需要配置:

http://bucket.example.com/foo.txt
http://bucket.example.com.s3.amazonaws.com/foo.txt
http://bucket.example.com.s3[-region].amazonaws.com/foo.txt
http://s3[-region].amazonaws.com/bucket.example.com/foo.txt

如果对象存储服务需要一种简单的机制来将 HTTP 传入请求中的 Host: header 解析为存储桶名称,则存储桶名称命名空间也需要是全局的。看来,任何其他事情都会使实现变得非常复杂。

为了使主机名可映射到存储桶名称,某些东西必须是全局唯一的,因为显然没有两个存储桶可以响应相同的主机名。应用于存储桶名称本身的限制不会留下任何歧义。

许多潜在客户似乎也不希望在存储桶名称中识别他们的帐户。

当然,您始终可以将帐户 ID 或任何随机字符串添加到所需的存储桶名称中,例如jozxyqk-payroll、jozxyqk-personnel(如果您想要的存储桶名称不可用)。

关于amazon-s3 - 为什么 S3 和 Google Storage 存储桶名称是全局命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com