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

列出对象键

可以按前缀列出键。通过为相关键的名称选择一个通用前缀,并使用用于划定层级结构的特殊字符来标记这些键,您可以使用列表操作来按层级结构选择和浏览键。这类似于在文件系统的目录中存储文件的方式。

Amazon S3 公开了列表操作,允许您列出包含在存储桶中的键。将按存储桶和前缀选择用于列表的键。例如,假设一个存储桶的名称为“dictionary”,它为每个英语词汇包含了一个键值。您可能会创建一个调用来列出该存储桶中以字母“q”开头的存储桶。列表结果始终以 UTF-8 二进制顺序返回。

SOAP 和 REST 列表操作将返回一个 XML 文档,其中包含匹配键值的名称和有关由每个键值识别的对象的信息。

注意

HTTP 上的 SOAP 支持已弃用,但是仍可在 HTTPS 上使用。对于 SOAP 将不支持新 Amazon S3 功能。我们建议您使用 REST API 或 AWS 开发工具包。

出于列表目的,可以根据通用前缀收拢那些共享一个前缀并且以特定分隔符终结的键组。这允许应用程序按层级结构组织和浏览键值,与您在文件系统的目录中组织文件的方式相同。例如,要扩展字典存储桶以包含除英语单词外的更多内容,您可以使用语言和分隔符为每个单词添加前缀 (例如,“French/logical”) 从而构成键值。使用此命名方案和层级列表功能,您可以检索仅包含法语词汇的列表。您也可以浏览可用语言的顶级列表,而无需循环浏览所有按字典顺序排列的干预键。

有关列表的此方面的更多信息,请参阅 使用前缀和分隔符按层次结构列出键

列表执行效率

存储桶中键的总数量,以及前缀、标记、最大键或分隔符参数的存在或缺失都不会影响列表的性能。有关提升存储桶整体性能的信息 (包括列表操作),请参阅请求速率和性能注意事项

循环访问多页结果

由于存储桶可以包含几乎无限数量的键,列表查询的完整结果可能会非常大。为了管理大型结果集,Amazon S3 API 支持分页,以将它们分割为多个响应。每个列出键响应将返回一个拥有多达 1000 个键的页面,同时使用指示器来指示响应是否存在截断。您可以发送一系列的列出键请求,直到您收到了所有的键。AWS 开发工具包包装库提供相同的分页。

以下 Java 和 .NET 开发工具包示例说明了如何在存储桶中列出键时使用分页:

相关资源

本页内容: