本页面介绍了不同的 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
当您调用支持分页的函数时,如果列表不完整,则响应中会返回连续令牌 nextPageToken
。nextPageToken
表示返回的最后一个结果。将 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: list
或 Buckets: list
的 JSON 参考文档。
XML API
当您调用支持分页的函数时,如果列表不完整,则响应中会返回连续令牌 NextContinuationToken
。NextContinuationToken
表示返回的最后一个结果。将 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 参考文档。