このページでは、さまざまな Cloud Storage ツールとライブラリの処理結果を複数のページに分割する方法について説明します。大量のオブジェクトまたはバケットを一覧表示する場合は、ページ分けが必要になります。
コンソール
Google Cloud コンソールの [バケット] ページと [バケットの詳細] ページでは、バケットやオブジェクトの処理結果が自動的にページ分けされます。
コマンドライン
Google Cloud CLI では、バケットとオブジェクトのリストが自動的にページ分けされます。
クライアント ライブラリ
C++
クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、C++ リファレンス ドキュメントで ListObjects()
をご覧ください。
C#
クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、C# リファレンス ドキュメントで ListObjects()
をご覧ください。
Go
クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Go リファレンス ドキュメントで Bucket.Objects
をご覧ください。
Java
クライアント ライブラリは、デフォルトでページ分けを実行します。ページ分けをサポートする関数を呼び出すと、レスポンスでイテレータが返されます。このイテレータの使用例については、Java リファレンス ドキュメントで Storage.Objects.list
をご覧ください。
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
パラメータに渡すと、最後の結果の後に続く次の結果ページが返されます。
レスポンスの例
{ "kind": "storage#objects", "nextPageToken": "CgtzaGliYS0yLmpwZw==", "items": [ objects Resource … ] }
objects Resource
の詳細については、オブジェクト リファレンス ドキュメントをご覧ください。
リクエストの例
GET https://storage.googleapis.com/storage/v1/b/BUCKET_NAME&pageToken=NEXT_PAGE_TOKEN HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Accept: application/json
ここで
- NEXT_PAGE_TOKEN は、前のレスポンスの
nextPageToken
値です。 - BUCKET_NAME は、ストレージ バケットの名前です。
- ACCESS_TOKEN は、OAuth 2.0 Playground から取得するアクセス トークンです。
結果のページ分けの詳細については、JSON リファレンス ドキュメントで Objects: list
または Buckets: list
をご覧ください。
XML API
ページ分けをサポートする関数を呼び出したときに、リスト出力が未完了であれば、レスポンスで継続トークン NextContinuationToken
が返されます。NextContinuationToken
は、返された最後の結果を表します。NextContinuationToken
の値を後続のリクエストの continuation-token
パラメータに渡すと、最後の結果の後に続く次の結果ページが返されます。
レスポンスの例
HTTP/1.1 200 OK X-goog-metageneration: 5 Content-location: https://example-bucket.storage.googleapis.com?max-keys=2&list-type=2 Expires: Wed, 02 Mar 2022 15:58:11 GMT Content-length: 781 X-guploader-uploadid: ADPycdvFss2qs9wyMrrM2fIIZzTFFnZZM9i9k8TMbHipsxz8PqUjS5Xh_4tLsvb3_YYHTT0HmSYVv1Gtr816HQFnk28HMglyWA Cache-control: private, max-age=0 Date: Wed, 02 Mar 2022 15:58:11 GMT Content-type: application/xml; charset=UTF-8 <?xml version='1.0' encoding='UTF-8'?> <ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'> <Name>example_bucket</Name> <NextContinuationToken>CgtzaGliYS0yLmpwZw==</NextContinuationToken> <KeyCount>2</KeyCount> <MaxKeys>2</MaxKeys> <IsTruncated>true</IsTruncated> <Contents> ... </Contents> ... </ListBucketResult>
NextContinuationToken
を返すには、list-type
を 2
に設定する必要があります。
リクエストの例
GET /?continuation-token=NEXT_CONTINUATION_TOKEN&prefix=t&marker=test&list-type=2 HTTP/1.1 \ Host: BUCKET_NAME.storage.googleapis.com Date: Wed, 02 Mar 2022 16:00:00 GMT Content-Length: 0 Authorization: AUTHENTICATION_STRING
ここで
- NEXT_CONTINUATION_TOKEN は、前のレスポンスで受け取った
NextContinuationToken
値です。 - BUCKET_NAME は、ストレージ バケットの名前です。
- AUTHENTICATION_STRING は、OAuth 2.0 Playground から取得するアクセス トークンです。
バケットからの結果を使用したページ分けの詳細については、XML リファレンス ドキュメントで List Objects
をご覧ください。