首页 > 解决方案 > GCS 存储桶名称的“全局”唯一性是什么?

问题描述

问题

当 Google Cloud Storage 表示所有 GCS 存储桶共享一个公共命名空间时(此处为第 2 段)

创建存储桶时,您需要指定全局唯一名称、存储存储桶及其内容的地理位置以及默认存储类。您选择的默认存储类适用于添加到未明确指定存储类的存储桶的对象。

和(这里的第 1 条)

存储桶名称位于单个 Cloud Storage 命名空间中。

这意味着:

每个存储桶名称必须是唯一的。存储桶名称是公开可见的。如果您尝试使用已属于现有存储桶的名称创建存储桶,Cloud Storage 会以错误消息进行响应。但是,删除存储桶后,您或其他用户可以将其名称重新用于新存储桶。已删除的存储桶名称重新可用所需的时间通常为几秒钟;但是,如果您删除包含存储桶的项目,这实际上也会删除存储桶,存储桶名称可能会在数周或更长时间内不会被释放。

“单一命名空间”和“全局”的字面意思是,在整个 Google Cloud 中,无论您的组织、项目或区域如何,您都不能为任何现有存储桶在整个地球上的任何其他地方创建与另一个存储桶共享名称的存储桶给定时间?

我只在一个组织内从事过 GCP 工作,我们多次在存储桶前面加上组织名称,但有时我们不这样做。我不关心名称用尽或类似的东西,我只是好奇这些东西“全局”和“单一命名空间”是什么意思,以及它是否意味着我认为它的作用。

鉴于大多数时候存储桶仅由其名称和gs://前缀引用,我可以看到具有文字全局唯一性对于确保一致的访问体验非常重要,而无需知道项目/组织 ID 之类的东西。任何人都可以找到证实这一点的消息来源吗?

奇怪的暗示/思想实验

如果是这样的话,我确实想知道......

  1. 创建一个您每月不使用多达 5k 个存储桶的空存储桶似乎没有相关成本,超过每 10k 个存储桶 0.05 美元(来源
  2. 您可以在项目中创建的存储桶数量没有限制(来源

...是什么阻止我创建一个免费层项目,并迭代所有可能的 GCS 存储桶名称(显然这将花费很长时间并且非常不切实际)但理论上只是占用所有存储桶名称(或至少所有人类可读的名称)并将这些名称出售给希望为其组织购买它们的个人(如果存储桶名称尚不存在)?我想即使是 0.05 美元,可能性的数量也是天文数字,要盈利,需要知道将购买的名称与可用名称列表的比率以确定合理定价,甚至每 10k 美元 0.05 美元(与每月前 5k 是免费的)世界上没有足够的钱来一次创建所有的桶。尽管如此,我还是会考虑这些事情。

标签: google-cloud-storage

解决方案


是的,“单一命名空间”和“全局”就是您所说的:所有 GCS 存储桶必须具有唯一的名称,无论组织、项目和区域如何。


推荐阅读