Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

存储桶限制

存储桶归创建它的 AWS 账户所有。默认情况下,您可以在每个 AWS 账户中创建多达 100 个存储桶。如果您需要更多存储桶,则可以通过提交服务限额提升来调高存储桶限制。有关如何调高存储桶限制的信息,请参阅 AWS 一般参考 中的 AWS 服务限制

存储桶所有权不可转让;但是,如果存储桶为空,您可以删除它。删除存储桶后,该名称可供重用,但是出于各种原因,您可能无法重新使用该名称。例如,其他账户可能使用该名称创建存储桶。另请注意,该名称可能需要过一段时间之后才能重用。因此,如果您想要使用相同的存储桶名称,请不要删除该存储桶。

存储在存储桶中的对象无数量限制,且无论您是使用很多存储桶,还是仅使用少量存储桶,性能方面都不会有差别。您可以在单个存储桶中存储所有对象,也可以在多个存储桶中组织它们。

如果在创建存储桶请求中显式指定了与创建客户端时指定的区域不同的 AWS 区域,您可能会收到错误。

您无法在其他存储桶中创建存储桶。

Amazon S3 的高可用性设计主要关注获取、放置、列出和删除操作。由于存储桶操作针对集中的全球资源空间工作,因此不适合在应用程序的高可用性代码路径上创建或删除存储桶。最好是在单独的初始化或设置不常运行的例程时创建或删除存储桶。

注意

如果您的应用程序自动创建了存储桶,请选择不会导致命名冲突的存储桶命名方案。确保存储桶名称已被使用时,您的应用程序逻辑会选择其他存储桶名称。

存储桶命名规则

创建 S3 存储桶后,您将无法更改存储桶名称,因此,请明智地选择名称。

重要

2018 年 3 月 1 日,我们更新了美国东部(弗吉尼亚北部) 区域中 S3 存储桶的命名约定,从而与所有其他全球 AWS 区域使用的命名约定保持一致。Amazon S3 不再支持包含大写字母或下划线的存储桶名称。这一变化可确保每个存储桶都可以使用虚拟托管类型的寻址找到,如 https://myawsbucket.s3.amazonaws.com。我们强烈建议您检查现有的存储桶创建过程,确保遵守这些符合 DNS 标准的命名约定。

以下是在所有 AWS 区域中命名 S3 存储桶的规则:

  • 存储桶名称在 Amazon S3 中的所有现有存储桶名称中必须唯一。

  • 存储桶名称必须符合 DNS 命名约定。

  • 存储桶名称的长度必须为至少 3 个字符,且不能超过 63 个字符。

  • 存储桶名称不能包含大写字符或下划线。

  • 存储桶名称必须以小写字母或数字开头。

  • 存储桶名称必须是一系列的一个或多个标签。相邻标签通过单个句点 (.) 分隔。存储桶名称可以包含小写字母、数字和连字符。每个标签都必须以小写字母或数字开头和结尾。

  • 存储桶名称不得采用 IP 地址格式(例如,192.168.5.4)。

  • 当通过安全套接字 (SSL) 使用虚拟托管式存储桶时,SSL 通配符证书仅匹配不包含句点的存储桶。要解决此问题,请使用 HTTP 或编写自己的证书验证逻辑。使用虚拟托管式存储桶时,建议您不在存储桶名称中使用 (".")。

不符合 DNS 标准的传统存储桶名称

从 2018 年 3 月 1 日起,我们更新了美国东部(弗吉尼亚北部) 区域中 S3 存储桶的命名约定,要求使用符合 DNS 标准的名称。

美国东部(弗吉尼亚北部) 区域以前允许使用更为宽松的存储桶命名标准,这可能导致存储桶名称不符合 DNS 标准。例如,MyAWSbucket 虽然包含大写字母,但仍属于有效的存储桶名称。如果您要尝试使用虚拟托管类型请求 (http://MyAWSbucket.s3.amazonaws.com/yourobject) 访问此存储桶,该 URL 将解析为存储桶 myawsbucket,而不是存储桶 MyAWSbucket。Amazon S3 将返回“未找到存储桶”错误作为响应。有关使用虚拟托管类型访问您的存储桶的更多信息,请参阅存储桶的虚拟托管

美国东部(弗吉尼亚北部) 区域的传统存储桶名称规则允许存储桶名称长达 255 个字符,存储桶名称可以包含大写字母、小写字母、数字、句点 (.)、连字符 (-) 和下划线 (_) 的任意组合。

用于 Amazon S3 Transfer Acceleration 的存储桶的名称必须符合 DNS 标准,且不得包含句点 (“.”)。有关传输加速的更多信息,请参阅 Amazon S3 Transfer Acceleration

本页内容: