【发布时间】:2020-12-04 15:28:59
【问题描述】:
问题
当 Google Cloud Storage 说所有 GCS 存储桶共享一个公共命名空间时(第 2 段 here)
创建存储桶时,您需要指定一个全球唯一的名称、存储存储桶及其内容的地理位置以及默认存储类。您选择的默认存储类适用于添加到存储桶但未明确指定存储类的对象。
和(项目符号 1 here)
存储桶名称位于单个 Cloud Storage 命名空间中。
这意味着:
每个存储桶名称都必须是唯一的。 存储桶名称是公开可见的。 如果您尝试使用已属于现有存储桶的名称创建存储桶,Cloud Storage 会以错误消息进行响应。但是,删除存储桶后,您或其他用户可以将其名称重新用于新存储桶。已删除的存储桶名称再次可用所需的时间通常为几秒钟;但是,如果您删除包含该存储桶的项目,这实际上也会删除该存储桶,该存储桶名称可能会在数周或更长时间内不会被释放。
“单一命名空间”和“全局”的字面意思是在整个 Google Cloud 中,无论您的组织、项目或区域如何,您都不能为所有现有的在任何给定时间存储桶?
我只在一个组织内从事过 GCP 工作,我们多次在存储桶前面加上组织名称,但有时我们不这样做。我不担心名称用完或类似的东西,我只是好奇这些东西“全局”和“单一命名空间”是什么意思,以及它是否意味着我认为的那样。
鉴于大多数时候存储桶仅通过其名称和 gs:// 前缀来引用,我可以看到具有字面意义上的全局唯一性对于确保一致的访问体验非常重要,而无需了解项目/组织 ID 之类的内容。任何人都可以找到证实这一点的来源吗?
奇怪的暗示/思想实验
如果是这样的话,我确实想知道......
... 是什么阻止我创建免费层项目,并迭代所有可能的 GCS 存储桶名称(显然这将需要 forever 并且非常不切实际)但是在理论只是占用所有存储桶名称(或至少所有人类可读的名称)并将这些名称出售给希望为其组织购买它们的个人(如果存储桶名称尚不存在)?我想即使是 0.05 美元,可能性的数量也是天文数字,要盈利,需要知道将购买的名称与可用名称列表的比率以确定合理定价,甚至每 10k 美元 0.05 美元(与每月前 5k 是免费的)世界上没有足够的钱来一次创建所有的桶。尽管如此,我还是会考虑这些事情。
【问题讨论】: