目录存储桶概述
Amazon S3 存储桶有两种类型:通用存储桶和目录存储桶。选择最适合您的应用程序和性能要求的桶类型:
-
通用存储桶是最初的 S3 存储桶类型,建议用于大多数使用案例和访问模式。通用存储桶还允许跨所有存储类(S3 Express One Zone 除外)存储对象。
-
目录存储桶使用 S3 Express One Zone 存储类,如果您的应用程序注重性能,并且受益于个位数毫秒的
PUT
和GET
延迟,则建议使用该存储类。
目录存储桶用于需要一致的个位数毫秒延迟的工作负载或性能关键型应用程序。目录桶将数据按层次结构组织到目录中,而不是通用桶的扁平存储结构。目录存储桶没有前缀限制,单个目录可以横向扩展。
目录存储桶使用 S3 Express One Zone 存储类,该存储类可在单个可用区内的多个设备上存储数据,但不会跨可用区冗余存储数据。创建目录桶时,我们建议您指定 Amazon EC2、Amazon Elastic Kubernetes Service 或 Amazon Elastic Container Service(Amazon ECS)计算实例的本地 Amazon Web Services 区域和可用区,以优化性能。
每个 Amazon Web Services 账户中最多可以创建 10 个目录桶,并且对桶中可以存储的对象数量没有限制。您的存储桶限额适用于您的 Amazon Web Services 账户中的每个区域。如果您的应用程序需要提高此限制,请联系 Amazon Web Services Support。
重要
在至少 90 天期间内没有请求活动的目录桶将转换为非活动状态。处于非活动状态时,目录存储桶暂时无法进行读取和写入。非活动存储桶会保留所有存储、对象元数据和存储桶元数据。现有的存储费用适用于非活动桶。如果您向非活动桶发出访问请求,该桶通常会在几分钟内转换为活动状态。在此转换期间,读取和写入操作会返回 HTTP 503 (Service Unavailable)
错误代码。
以下主题提供有关目录存储桶的信息。有关通用存储桶的更多信息,请参阅存储桶概述。
主题
可用区
创建目录存储桶时,您可以选择可用区和 Amazon Web Services 区域。
目录存储桶使用 S3 Express One Zone 存储类,该存储类专用于注重性能的应用程序。S3 Express One Zone 是第一种可以在其中选择单个可用区的 S3 存储类,您可以选择将您的对象存储与计算资源联合托管在一个位置,从而提供尽可能高的访问速度。
使用 S3 Express One Zone,您的数据将冗余地存储在单个可用区中的多个设备上。S3 Express One Zone 设计为在单个可用区内提供 99.95% 的可用性,并由 Amazon S3 服务等级协议
目录存储桶名称
目录存储桶名称由您提供的基本名称和包含存储桶所在可用区 ID 的后缀组成。目录存储桶名称必须使用以下格式并遵循目录存储桶的命名规则:
bucket-base-name
--azid
--x-s3
例如,以下目录存储桶名称包含可用区 ID usw2-az1
:
bucket-base-name
--usw2-az1--x-s3
有关更多信息,请参阅 目录存储桶命名规则。
目录
目录桶将数据按层次结构组织到目录中,而不是通用桶的扁平存储结构。每个 S3 目录存储桶均可支持数十万个每秒事务数(TPS),与存储桶内的目录数量无关。
对于分层命名空间,对象键中的分隔符很重要。唯一支持的分隔符是正斜杠(/
)。目录由分隔符边界确定。例如,对象键 dir1/dir2/file1.txt
会自动创建目录 dir1
/ 和 dir2/
,并将对象 file1.txt
添加到路径 dir1/dir2/file1.txt
中的 /dir2
目录。
目录存储桶索引模型会为 ListObjectsV2
API 操作返回未排序的结果。如果您需要将结果限制在存储桶的某个子部分,则可以在 prefix
参数中指定子目录路径,例如 prefix=dir1/
。
键名称
对于目录存储桶,多个对象键共用的子目录将使用第一个对象键创建。同一子目录的其它对象键使用之前创建的子目录。此模型使您可以灵活地选择最适合应用程序的对象键,同时同样支持稀疏目录和密集目录。
访问管理
目录存储桶默认在存储桶级别启用了所有 S3 屏蔽公共访问权限设置。S3 对象所有权设置为强制存储桶拥有者,并禁用访问控制列表(ACL)。无法修改这些设置。
默认情况下,用户没有目录存储桶和 S3 Express One Zone 操作的权限。要授予对目录存储桶的访问权限,您可以使用 IAM 创建用户、组或角色,然后将权限附加到这些身份。有关更多信息,请参阅适用于 S3 Express One Zone 的 Amazon Identity and Access Management(IAM)。
使用目录存储桶
有关使用目录存储桶的更多信息,请参阅以下主题。