使用目录存储桶
目录桶将数据按层次结构组织到目录中,而不是通用桶的扁平存储结构。目录存储桶没有前缀限制,单个目录可以横向扩展。
每个 Amazon Web Services 账户中最多可以创建 100 个目录存储桶,并且对存储桶中可以存储的对象数量没有限制。您的存储桶限额适用于您的 Amazon Web Services 账户中的每个区域。如果您的应用程序需要提高此限制,请联系 Amazon Web Services 支持。
重要
可用区中在至少 90 天期间内没有请求活动的目录存储桶将转换为非活动状态。处于非活动状态时,目录存储桶暂时无法进行读取和写入。非活动存储桶会保留所有存储、对象元数据和存储桶元数据。现有的存储费用适用于非活动桶。如果您向非活动桶发出访问请求,该桶通常会在几分钟内转换为活动状态。在此转换期间,读取和写入操作会返回 HTTP 503 (Service Unavailable)
错误代码。这不适用于本地区域中的存储桶。
Amazon S3 存储桶有几种类型。在创建存储桶之前,请确保选择最适合应用程序和性能要求的存储桶类型。有关各种存储桶类型以及每种类型的相应用例的更多信息,请参阅存储桶。
以下主题提供有关目录存储桶的信息。有关通用存储桶的更多信息,请参阅通用存储桶概述。
有关目录存储桶的更多信息,请参阅以下主题。
目录存储桶名称
目录存储桶名称由您提供的基本名称和包含存储桶所在区域(可用区或本地区域)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 操作进行授权。
还可以通过接入点控制对目录存储桶的访问权限。访问点可简化对 Amazon S3 中的共享数据集的大规模数据访问管理。接入点是您创建的具有唯一性的主机名,用于对通过接入点发出的所有请求强制实施不同的权限和网络控制。有关更多信息,请参阅 通过接入点管理对目录存储桶中共享数据集的访问权限。
目录存储桶配额
配额(也称为限制)是 Amazon Web Services 账户的服务资源或操作的最大数量。以下是目录存储桶的配额。有关 Amazon S3 中配额的更多信息,请参阅 Amazon S3 quotas。
创建和使用目录存储桶
有关使用目录存储桶的更多信息,请参阅以下主题。