问题描述
问题
当Google Cloud Storage说所有GCS桶共享一个公共名称空间时(第2 here段)
创建存储桶时,请指定全局唯一的名称,存储桶及其内容的存储地理位置以及默认存储类。您选择的默认存储类别适用于添加到存储桶中但没有明确指定存储类别的对象。
和(项目符号1 here)
这意味着:
每个存储桶名称必须唯一。 桶名称是公开可见的。 如果您尝试使用已经属于现有存储桶的名称创建存储桶,则Cloud Storage会显示一条错误消息。但是,删除存储桶后,您或其他用户可以将其名称重新用于新存储桶。删除的存储桶的名称重新可用所需的时间通常为几秒。但是,如果您删除包含该存储桶的项目,同时也删除了该存储桶,则该存储桶名称可能不会发布数周或更长时间。
确实是“单个名称空间”和“全局”,这意味着在整个Google Cloud中,无论您的组织,项目或地区如何,您都无法创建与整个地球上其他任何位置与另一个存储桶共享名称的存储桶在任何给定时间桶?
我只在一个组织内从事过GCP工作,我们为存储桶添加了组织名称很多次,但有时却没有。我并不担心用完名称或类似的名称,我只是好奇“全局”和“单个名称空间”的含义是什么,以及这是否意味着我的想法。
鉴于大多数情况下,存储桶仅通过其名称使用gs://
前缀进行引用,我可以看到具有字面的全局唯一性对于确保一致的访问体验而无需了解项目/组织ID之类的重要性。有人能找到证实这一点的消息吗?
奇怪的暗示/思想实验
如果是这种情况,我确实想知道...
...是什么阻止我创建自由层项目,并遍历所有可能的GCS存储桶名称(显然,这将永远花费 ,并且非常不切实际),但是理论上仅占据所有存储桶名称(或至少所有人类可读的名称),然后将这些名称出售给希望为其组织购买(如果存储桶名称尚不存在)的个人?我认为可能性的数量即使是0.05美元也算是天文数字,要想盈利,就必须知道要购买的名称与可用名称的比例,以确定合理的价格,甚至每10k定价为0.05美元(第一个5k每月免费),世界上没有足够的钱一次性创建所有存储桶。不过,我仍然考虑这些事情。
解决方法
是的,“单个名称空间”和“全局”表示您的意思:所有GCS存储桶都必须具有唯一的名称,而与组织,项目和地区无关。