このページでは、さまざまな Cloud Storage ツールとライブラリの処理結果を複数のページに分割する方法について説明します。大量のオブジェクトまたはバケットを一覧表示する場合は、ページ分けが必要になります。
コンソール
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-type を 2 に設定する必要があります。
my-bucket でオブジェクトのリスト表示を続行するために使用する HTTP リクエストは次のとおりです。
GET /?continuation-token=CgtzaGliYS0yLmpwZw==&list-type=2 HTTP/1.1 Host: my-bucket.storage.googleapis.com
バケットからの結果を使用したページ分けの詳細については、XML リファレンス ドキュメントで List Objects をご覧ください。