Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

存储桶限制

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

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

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

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

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

注意

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

存储桶命名规则

我们建议所有存储桶名称都遵循 DNS 命名惯例。这些惯例在除美国东部 (弗吉尼亚北部) 区域外的所有区域均有效。

注意

如果您使用 AWS 管理控制台,则在所有区域中,存储桶名称都必须符合 DNS 标准。

符合 DNS 标准的存储桶名称使客户能够受益于新功能和操作改进,并支持对存储桶进行虚拟托管类型访问。虽然美国东部 (弗吉尼亚北部) 区域目前允许不符合 DNS 标准的存储桶命名,但我们将于未来几个月在美国东部 (弗吉尼亚北部) 区域推行同一种符合 DNS 标准的存储桶命名惯例。这将保证 Amazon S3 存储桶只有一种统一的命名方法。符合 DNS 标准的存储桶名称规则如下:

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

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

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

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

以下示例是无效存储桶名称:

存储桶名称无效 评论
.myawsbucket 存储桶名称不能以句点 (.) 开始。
myawsbucket. 存储桶名称不能以句点 (.) 结束。
my..examplebucket 标签之间只能有一个句点。

不符合 DNS 标准的存储桶名称面临的难题

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

要避免此问题,我们建议始终使用符合 DNS 标准的存储桶名称作为最佳实践,而不考虑您创建该存储桶的区域。有关使用虚拟托管类型访问您的存储桶的更多信息,请参阅存储桶的虚拟托管

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

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

本页内容: