使用目录存储桶 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用目录存储桶

Amazon S3 存储桶有两种类型:通用存储桶和目录存储桶。选择最适合您的应用程序和性能要求的桶类型:

  • 通用存储桶是最初的 S3 存储桶类型,建议用于大多数使用案例和访问模式。通用存储桶还支持跨所有存储类(Amazon 可用区中的 S3 Express One Zone 和 Amazon Local Zones 中的 S3 One Zone-IA 除外)存储对象。

  • 目录存储桶支持在以下存储桶位置类型中创建存储桶:可用区或本地区域。对于低延迟应用场景,您可以在单个可用区中创建目录存储桶来存储数据。可用区中的目录存储桶支持 S3 Express One Zone 存储类。如果您的应用程序注重性能,并且受益于个位数毫秒的 PUTGET 延迟,则建议使用 S3 Express One Zone 存储类。对于数据驻留应用场景,您可以在单个 Amazon 专用本地区域(DLZ)中创建目录存储桶来存储数据。Local Zones 中的目录存储桶支持 S3 One Zone-Infrequent Access(S3 One Zone-IA;Z-IA)存储类。要了解有关在可用区中创建目录存储桶的更多信息,请参阅高性能工作负载。要了解有关在 Local Zones 中创建目录存储桶的更多信息,请参阅数据驻留工作负载

目录桶将数据按层次结构组织到目录中,而不是通用桶的扁平存储结构。目录存储桶没有前缀限制,单个目录可以横向扩展。

每个 Amazon Web Services 账户中最多可以创建 100 个目录存储桶,并且对存储桶中可以存储的对象数量没有限制。您的存储桶限额适用于您的 Amazon Web Services 账户中的每个区域。如果您的应用程序需要提高此限制,请联系 Amazon Web Services 支持。

重要

在至少 90 天期间内没有请求活动的目录桶将转换为非活动状态。处于非活动状态时,目录存储桶暂时无法进行读取和写入。非活动存储桶会保留所有存储、对象元数据和存储桶元数据。现有的存储费用适用于非活动桶。如果您向非活动桶发出访问请求,该桶通常会在几分钟内转换为活动状态。在此转换期间,读取和写入操作会返回 HTTP 503 (Service Unavailable) 错误代码。

以下主题提供有关目录存储桶的信息。有关通用存储桶的更多信息,请参阅存储桶概述

有关目录存储桶的更多信息,请参阅以下主题。

目录存储桶名称

目录存储桶名称由您提供的基本名称和包含存储桶所在区域(可用区或本地区域)ID 的后缀组成。目录存储桶名称必须使用以下格式并遵循目录存储桶的命名规则:

bucket-base-name--zone-id--x-s3

例如,以下目录存储桶名称包含可用区 ID usw2-az1

bucket-base-name--usw2-az1--x-s3

有关更多信息,请参阅 目录存储桶命名规则

目录

目录桶将数据按层次结构组织到目录中,而不是通用桶的扁平存储结构。

对于分层命名空间,对象键中的分隔符很重要。唯一支持的分隔符是正斜杠(/)。目录由分隔符边界确定。例如,对象键 dir1/dir2/file1.txt 会自动创建目录 dir1/ 和 dir2/,并将对象 file1.txt 添加到路径 dir1/dir2/file1.txt 中的 /dir2 目录。

目录存储桶索引模型会为 ListObjectsV2 API 操作返回未排序的结果。如果您需要将结果限制在存储桶的某个子部分,则可以在 prefix 参数中指定子目录路径,例如 prefix=dir1/

键名称

对于目录存储桶,多个对象键共用的子目录将使用第一个对象键创建。同一子目录的其它对象键使用之前创建的子目录。此模型使您可以灵活地选择最适合应用程序的对象键,同时同样支持稀疏目录和密集目录。

访问权限管理

目录存储桶默认在存储桶级别启用了所有 S3 屏蔽公共访问权限设置。S3 对象所有权设置为强制存储桶拥有者,并禁用访问控制列表(ACL)。无法修改这些设置。

默认情况下,用户没有目录存储桶的权限。要授予对目录存储桶的访问权限,您可以使用 IAM 创建用户、组或角色,然后将权限附加到这些身份。有关更多信息,请参阅 使用 IAM 对区域端点 API 操作进行授权

创建和使用目录存储桶

有关使用目录存储桶的更多信息,请参阅以下主题。