对结果进行分页

本页面介绍了不同的 Cloud Storage 工具和库如何对结果进行分页。列出大量对象存储桶时需要进行分页。

控制台

Google Cloud 控制台会在存储桶存储桶详情页面中自动对存储桶和对象列表进行分页。


打开“存储桶”页面

命令行

Google Cloud CLI 会自动对存储桶和对象列表进行分页。

客户端库

C++

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 ListObjects() 的 C++ 参考文档。

C#

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 ListObjects() 的 C# 参考文档。

Go

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 Bucket.Objects 的 Go 参考文档。

Java

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回页面令牌。如需查看此方法的使用方式示例,请参阅 Java 参考文档

Node.js

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 getFiles() 的 Node.js 参考文档。

PHP

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 Objects 的 PHP 参考文档。

Python

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅页面迭代器的 Python 参考文档。

Ruby

默认情况下,客户端库会执行分页操作。当您调用支持分页的函数时,响应中会返回迭代器。如需查看此迭代器的使用方式示例,请参阅 Google::Cloud::Storage::File::List 的 Ruby 参考文档。

REST API

JSON API

当您调用支持分页的函数时,如果列表不完整,则响应中会返回连续令牌 nextPageTokennextPageToken 表示返回的最后一个结果。将 nextPageToken 的值传递给后续请求的 pageToken 参数时,系统将从最后一个结果之后开始返回下一页结果。

例如,假设您请求列出名为 my-bucket 的存储桶中的对象,并且响应中包含 nextPageToken

{
  "kind": "storage#objects",
  "nextPageToken": "CgtzaGliYS0yLmpwZw==",
  "items": [
    {
      OBJECT_1_METADATA
    },
    {
      OBJECT_2_METADATA
    },
    …
  ]
}

您用于继续在 my-bucket 中列出对象的 HTTP 请求如下所示:

GET https://storage.googleapis.com/storage/v1/b/my-bucket/o?pageToken=CgtzaGliYS0yLmpwZw==

如需详细了解如何对结果进行分页,请参阅 Objects: listBuckets: list 的 JSON 参考文档。

XML API

当您调用支持分页的函数时,如果列表不完整,则响应中会返回连续令牌 NextContinuationTokenNextContinuationToken 表示返回的最后一个结果。将 NextContinuationToken 的值传递给后续请求的 continuation-token 参数时,系统将从最后一个结果之后开始返回下一页结果。

例如,假设您请求列出名为 my-bucket 的存储桶中的对象,并且响应中包含 NextContinuationToken

<?xml version='1.0' encoding='UTF-8'?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
  <Name>my-bucket</Name>
  <NextContinuationToken>CgtzaGliYS0yLmpwZw==</NextContinuationToken>
  <KeyCount>2</KeyCount>
  <MaxKeys>2</MaxKeys>
  <IsTruncated>true</IsTruncated>
  <Contents>
    ...
  </Contents>
  ...
</ListBucketResult>

请注意,list-type 必须设置为 2,才能在列出对象时返回 NextContinuationToken

您用于继续在 my-bucket 中列出对象的 HTTP 请求将包含以下内容:

GET /?continuation-token=CgtzaGliYS0yLmpwZw==&list-type=2 HTTP/1.1
  Host: my-bucket.storage.googleapis.com

如需详细了解如何对存储桶的结果进行分页,请参阅 List Objects 的 XML 参考文档。

后续步骤