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