このページでは、Cloud Storage バケットに保存されているオブジェクトを一覧表示する方法について説明します。表示されるオブジェクトは名前順に並べられます。
始める前に
オブジェクトの一覧表示に必要な権限を取得するには、リストするオブジェクトを含むバケットに対するストレージ オブジェクト閲覧者(roles/storage.objectViewer
)の IAM ロールを付与するよう管理者に依頼してください。マネージド フォルダ内のオブジェクトを一覧表示する場合は、バケットではなく、表示するオブジェクトを含むマネージド フォルダに roles/storage.objectViewer
を付与します。
Cloud de Confiance コンソールを使用してこのページのタスクを実施する場合は、ストレージ オブジェクト閲覧者(roles/storage.objectViewer
)ロールに加えて、閲覧者(roles/viewer
)の基本ロールを付与するよう管理者に依頼してください。
これらのロールには、オブジェクトを一覧取得するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.objects.list
storage.buckets.list
- この権限は、 Cloud de Confiance コンソールを使用してこのページのタスクを実施する場合にのみ必要です。
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットのロールの付与については、バケットでの IAM ポリシーの設定と管理をご覧ください。
バケット内のオブジェクトを一覧表示する
コンソール
- Cloud de Confiance コンソールで Cloud Storage の [バケット] ページに移動します。
バケットリストで、コンテンツを表示するバケットの名前をクリックします。
コマンドライン
gcloud storage ls
コマンドを使用します。
gcloud storage ls gs://BUCKET_NAME
ここで
BUCKET_NAME
は、一覧表示するオブジェクトを含むバケットの名前です。例:my-bucket
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
以下は、バケット内のすべてのオブジェクトを一覧表示する例です。
以下は、特定の接頭辞を持つオブジェクトを一覧表示する例です。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、オブジェクトを一覧表示するリクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o"
ここで、
BUCKET_NAME
はオブジェクトを一覧表示するバケットの名前です。例:my-bucket
XML API
gcloud CLI をインストールして初期化します。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、GET
Bucket リクエストで XML API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/BUCKET_NAME?list-type=2"
ここで、
BUCKET_NAME
はオブジェクトを一覧表示するバケットの名前です。例:my-bucket
。prefix=PREFIX
クエリ文字列パラメータを使用すると、指定した接頭辞を持つオブジェクトのみが含まれる結果を取得できます。
フォルダ内のオブジェクトを一覧表示する
コンソール
- Cloud de Confiance コンソールで Cloud Storage の [バケット] ページに移動します。
バケットリストで、フォルダを含むバケットの名前をクリックします。
[バケットの詳細] ページの [オブジェクト] タブで、コンテンツを表示するフォルダの名前をクリックします。
コマンドライン
gcloud storage ls
コマンドを使用して、フォルダ内のオブジェクトを一覧表示します。
gcloud storage ls gs://BUCKET_NAME/FOLDER_NAME
ここで
BUCKET_NAME
は、フォルダを含むバケットの名前です。例:my-bucket
FOLDER_NAME
は、一覧表示するオブジェクトを含むフォルダの名前です。例:my-folder
REST API
JSON API
フォルダ内のオブジェクトを一覧表示するには、prefix
パラメータと delimiter
パラメータを設定してオブジェクト リスト リクエストを使用します。prefix
パラメータを設定すると、リスト オペレーションは、プレフィックスの下にあるオブジェクトとフォルダのみを返すようにスコープ設定されます。delimiter
パラメータを設定すると、レスポンスの prefixes[]
リストには、指定された接頭辞の下にあるフォルダの名前が入力されます。
例:
バケット
my-bucket
内にあるフォルダimage/
のすべてのオブジェクトを一覧表示するには、次の URL を使用します。"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image&delimiter=/"
これにより、オブジェクト
my-bucket/image/cat.jpeg
とmy-bucket/image/dog.jpeg
が返される可能性があります。image/
内のサブフォルダにあるオブジェクトを含めるには、delimiter
パラメータ"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image"
を削除します。これにより、オブジェクト
my-bucket/image/cat.jpeg
、my-bucket/image/dog.jpeg
、my-bucket/image/dog/shiba.jpeg
が返される可能性があります。
オブジェクト リスト リクエストでワイルドカードを使用し、glob 式でオブジェクトを照合するには、matchGlob
パラメータを使用します。たとえば、matchGlob=**.jpeg
は末尾が .jpeg
のオブジェクトと一致します。matchGlob
を使用する場合は、delimiter
を /
に設定する必要があります。
たとえば、次の URL を使用すると、フォルダ image
内で末尾が .jpeg
のすべてのオブジェクトと一致します。
"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image&delimiter=/&matchGlob=**.jpeg"
パラメータを使用してオブジェクトをフィルタする方法について詳しくは、オブジェクト リストの JSON API リファレンス ドキュメントをご覧ください。
ユースケース
prefix
を使用してフォルダの内容を一覧表示することは、バケット全体ではなく、フォルダ内のオブジェクトのみを一覧表示する権限が付与されている場合に便利です。たとえば、マネージド フォルダ my-bucket/my-managed-folder-a/
に対するストレージ オブジェクト閲覧者(roles/storage.objectViewer
)の IAM ロールがあり、マネージド フォルダ my-bucket/my-managed-folder-b/
に対するロールは付与されていないとします。my-managed-folder-a
内のオブジェクトのみを取得するには、prefix=my-managed-folder-a/
を指定します。
オブジェクトをフィルタする
オブジェクトを一覧表示するときに、list リクエストで接頭辞または接尾辞を使用して、名前でオブジェクトをフィルタリングできます。
コンソール
バケットまたはフォルダ内のオブジェクトをフィルタして並べ替える方法については、フィルタと並べ替えをご覧ください。
コマンドライン
gcloud storage ls
コマンドでワイルドカードを使用すると、接頭辞または接尾辞でオブジェクトをフィルタリングできます。たとえば、次のコマンドは、my-bucket
バケット内の名前が image
で始まり .png
で終わるオブジェクトのみを一覧表示します。
gcloud storage ls gs://my-bucket/image*.png
リクエストが成功すると、次のようなレスポンスが返されます。
gs://my-bucket/image.png gs://my-bucket/image-dog.png gs://my-bucket/image-cat.png ...
二重ワイルドカード(**)を使用すると、パス内の 0 個以上のフォルダレベルに一致させることができます。たとえば、次のコマンドは、バケット my-bucket
内の任意のフォルダまたはサブフォルダにある、名前の末尾が .jpeg
のオブジェクトのみを一覧表示します。
gcloud storage ls gs://my-bucket/**/*.jpeg
リクエストが成功すると、次のようなレスポンスが返されます。
gs://my-bucket/puppy.jpeg gs://my-bucket/pug.jpeg gs://my-bucket/pets/dog.jpeg ...
REST API
フォルダまたはオブジェクト名の接頭辞でオブジェクトをフィルタする方法については、フォルダ内のオブジェクトを一覧表示するをご覧ください。
コンテキストでオブジェクトをフィルタする
フィルタを使用すると、指定したコンテキスト(プレビュー)を持つオブジェクトのみをリスト レスポンスに表示できます。
コマンドライン
gcloud alpha storage objects list
コマンドを使用します。
gcloud alpha storage objects list gs://BUCKET_NAME --metadata-filter='contexts."KEY"="VALUE"'
ここで
BUCKET_NAME
は、コンテキストでフィルタするオブジェクトが格納されているバケットの名前です。例:my-bucket
KEY
は、オブジェクトに関連付けられたコンテキスト キーです。VALUE
は、コンテキスト キーに関連付けられた値です。
正常に終了すると、レスポンスは次の例のようになります。
--- bucket: my-bucket contexts: Department: createTime: '2023-01-01T00:00:00.000000+00:00' type: CUSTOM updateTime: '2023-01-01T00:00:00.000000+00:00' value: HR DataClassification: createTime: '2023-01-01T00:00:00.000000+00:00' type: CUSTOM updateTime: '2023-01-01T00:00:00.000000+00:00' value: Confidential name: employees.txt ...
クライアント ライブラリ
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
コードサンプルを実行する前に、GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境変数を s3nsapis.fr
に設定します。
REST API
JSON API
Object: list
リクエストは、filter
クエリ パラメータの使用方法の例を示しています。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/?filter=contexts.%22KEY%22%3D%22VALUE%22"
ここで
BUCKET_NAME
は、コンテキストでフィルタするオブジェクトが格納されているバケットの名前です。例:my-bucket
KEY
は、オブジェクトに関連付けられたコンテキスト キーです。VALUE
は、コンテキスト キーに関連付けられた値です。
構文
Cloud Storage は、フィルタで次の構文をサポートしています。
構文 | 説明 |
---|---|
contexts."KEY":* |
指定されたキーが関連付けられたコンテキストを持つオブジェクトに一致します。 |
contexts."KEY"="VALUE" |
指定されたキーと値が関連付けられたコンテキストを持つオブジェクトに一致します。 |
または
|
指定されたキーが関連付けられたコンテキストを持たないオブジェクトに一致します。 |
または
|
指定されたキーと値が関連付けられたコンテキストを持たないオブジェクトに一致します。 |
オブジェクトを一覧表示する際のパフォーマンスに関する考慮事項
階層型名前空間が有効になっているバケットの基盤となる構造は、フラット名前空間のバケットと比較して、オブジェクトの一覧表示オペレーションのパフォーマンスに影響します。詳細については、階層型名前空間が有効なバケットのパフォーマンスを最適化するをご覧ください。