本頁說明不同的 Cloud Storage 工具和程式庫如何將結果分頁。列出大量物件或值區時,必須使用分頁功能。
控制台
Google Cloud 控制台會自動在「Buckets」和「Bucket details」頁面中,將 bucket 和物件清單分頁。
指令列
Google Cloud CLI 會自動分頁顯示 bucket 和物件清單。
用戶端程式庫
C++
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以在要求中指定選項,控制網頁大小。如需這個迭代器的使用範例,請參閱 ListObjects() 的 C++ 參考文件。
C#
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以在要求中指定選項,控制網頁大小。如需這個迭代器的使用範例,請參閱 ListObjects() 的 C# 參考文件。
Go
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用查詢或分頁選項控制網頁大小。如需如何使用這個迭代器的範例,請參閱 Bucket.Objects 的 Go 參考說明文件。
Java
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回頁面權杖。您可以使用 pageSize 選項控制頁面大小。如需使用範例,請參閱 Java 參考文件。
Node.js
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用查詢選項 (例如 maxResults) 控制頁面大小。如要瞭解如何使用這個迭代器,請參閱 getFiles() 的 Node.js 參考說明文件。
PHP
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用 maxResults 等選項控制頁面大小。如需這個迭代器使用方式的範例,請參閱 Objects 的 PHP 參考說明文件。
Python
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用 max_results 或 page_size 等選項控制頁面大小。如需這個疊代器的使用範例,請參閱 網頁疊代器的 Python 參考文件。
小茹
用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用 max 等選項控制頁面大小。如需這個迭代器的使用範例,請參閱 Google::Cloud::Storage::File::List 的 Ruby 參考文件。
REST API
JSON API
如要控管每頁傳回的結果數量,請在對 Objects: list 或 Buckets: list 的要求中使用 maxResults 查詢參數。舉例來說,如要一次列出最多 5 個物件:
GET https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?maxResults=5
呼叫支援分頁的函式時,如果清單不完整,回應中會傳回接續符記 nextPageToken。nextPageToken 代表傳回的最後一個結果。
舉例來說,列出 BUCKET_NAME 中物件的要求可能會在回應中傳回 nextPageToken:
{
"kind": "storage#objects",
"nextPageToken": "CgtzaGliYS0yLmpwZw==",
"items": [
{
OBJECT_1_METADATA
},
{
OBJECT_2_METADATA
},
…
]
}如要傳回下一頁結果 (從最後一個結果之後開始),請將 nextPageToken 的值傳遞至後續要求的 pageToken 參數:
GET https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?pageToken=CgtzaGliYS0yLmpwZw==
您可以在同一項要求中合併 maxResults 和 pageToken,繼續列出特定頁面大小的項目。
如要進一步瞭解如何將結果分頁,請參閱 Objects: list 或 Buckets: list 的 JSON 參考說明文件。
XML API
如要控管每頁傳回的結果數量,請在對 List Objects 提出的要求中使用 max-keys 查詢參數。舉例來說,如要一次列出最多 5 個物件:
GET /?max-keys=5 HTTP/1.1 Host: BUCKET_NAME.storage.googleapis.com
呼叫支援分頁的函式時,如果清單不完整,回應中會傳回接續符記 NextContinuationToken。NextContinuationToken 代表傳回的最後一個結果。
舉例來說,列出 BUCKET_NAME 中物件的要求可能會在回應中傳回 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。
如要傳回下一頁結果 (從最後一個結果之後開始),請將 NextContinuationToken 的值傳遞至後續要求的 continuation-token 參數:
GET /?continuation-token=CgtzaGliYS0yLmpwZw==&list-type=2 HTTP/1.1 Host: BUCKET_NAME.storage.googleapis.com
您可以在同一項要求中合併 max-keys 和 continuation-token。
如需如何透過 Bucket 中的結果進行分頁的詳細說明,請參閱 List Objects 的 XML 參考文件。