分頁顯示結果

本頁說明不同的 Cloud Storage 工具和程式庫如何將結果分頁。列出大量物件值區時,必須使用分頁功能。

控制台

Google Cloud 控制台會自動在「Buckets」和「Bucket details」頁面中,將 bucket 和物件清單分頁。


開啟「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_resultspage_size 等選項控制頁面大小。如需這個疊代器的使用範例,請參閱 網頁疊代器的 Python 參考文件。

小茹

用戶端程式庫預設會執行分頁作業。呼叫支援分頁的函式時,方法會傳回疊代器。您可以使用 max 等選項控制頁面大小。如需這個迭代器的使用範例,請參閱 Google::Cloud::Storage::File::List 的 Ruby 參考文件。

REST API

JSON API

如要控管每頁傳回的結果數量,請在對 Objects: listBuckets: list 的要求中使用 maxResults 查詢參數。舉例來說,如要一次列出最多 5 個物件:

GET https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?maxResults=5

呼叫支援分頁的函式時,如果清單不完整,回應中會傳回接續符記 nextPageTokennextPageToken 代表傳回的最後一個結果。

舉例來說,列出 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==

您可以在同一項要求中合併 maxResultspageToken,繼續列出特定頁面大小的項目。

如要進一步瞭解如何將結果分頁,請參閱 Objects: listBuckets: list 的 JSON 參考說明文件。

XML API

如要控管每頁傳回的結果數量,請在對 List Objects 提出的要求中使用 max-keys 查詢參數。舉例來說,如要一次列出最多 5 個物件:

GET /?max-keys=5 HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com

呼叫支援分頁的函式時,如果清單不完整,回應中會傳回接續符記 NextContinuationTokenNextContinuationToken 代表傳回的最後一個結果。

舉例來說,列出 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-keyscontinuation-token

如需如何透過 Bucket 中的結果進行分頁的詳細說明,請參閱 List Objects 的 XML 參考文件。

後續步驟