結果をページ分けする

このページでは、さまざまな Cloud Storage ツールとライブラリの処理結果を複数のページに分割する方法について説明します。大量のオブジェクトまたはバケットを一覧表示する場合は、ページ分けが必要になります。

Console

Google Cloud コンソールでは、[バケット] ページと [バケットの詳細] ページに、バケットやオブジェクトのリストが自動的にページ分けされます。


[バケット] ページを開く

コマンドライン

Google Cloud CLI では、バケットとオブジェクトのリストが自動的にページ分けされます。

クライアント ライブラリ

C++

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、C++ リファレンス ドキュメントで ListObjects() をご覧ください。

C#

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、C# リファレンス ドキュメントで ListObjects() をご覧ください。

Go

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Go リファレンス ドキュメントで Bucket.Objects をご覧ください。

Java

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでページトークンが返されます。使用例については、Java リファレンス ドキュメントをご覧ください。

Node.js

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Node.js リファレンス ドキュメントで getFiles() をご覧ください。

PHP

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、PHP リファレンス ドキュメントで Objects をご覧ください。

Python

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Python リファレンス ドキュメントでページ イテレータをご覧ください。

Ruby

クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Ruby リファレンス ドキュメントで Google::Cloud::Storage::File::List をご覧ください。

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==

結果のページ分けの詳細については、JSON リファレンス ドキュメントで Objects: list または Buckets: list をご覧ください。

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>

オブジェクトを一覧表示するときに NextContinuationToken を返すには、list-type2 に設定する必要があります。

my-bucket でオブジェクトのリスト表示を続行するために使用する HTTP リクエストは次のとおりです。

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

バケットからの結果を使用したページ分けの詳細については、XML リファレンス ドキュメントで List Objects をご覧ください。

次のステップ