このページでは、Cloud Storage に保存されるオブジェクトに関連付けられているメタデータの表示と編集の方法について説明します。
このページでは、データにアクセスできるユーザーを制御する、Identity and Access Management(IAM)ポリシーまたはオブジェクトのアクセス制御リスト(ACL)の表示や編集については説明しません。これらのタスクを行うためのガイドとして、Identity and Access Management と ACL の作成と管理をご覧ください。
必要なロール
オブジェクトのメタデータの表示と編集に必要な権限を取得するには、バケットに対するストレージ オブジェクト ユーザー(roles/storage.objectUser)のロールを付与するよう管理者に依頼してください。
このロールには、オブジェクトのメタデータの表示と編集に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットに対するロールを付与する手順については、バケットでの IAM ポリシーの設定と管理をご覧ください。
オブジェクトのメタデータを表示する
オブジェクトに関連付けられているメタデータを表示するには、次の手順を実行します。
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、メタデータを表示するオブジェクトを含むバケットの名前をクリックします。 - [バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。 
- フォルダ内にあるオブジェクトに移動します。 - オブジェクトの名前と一緒に、オブジェクトのサイズやストレージ クラスなどのオブジェクト メタデータの値が表示されます。 
- オブジェクトの名前をクリックします。 - [オブジェクトの詳細] ページが開き、追加のオブジェクト メタデータが表示されます。 
- [メタデータを編集] をクリックします。 - 上に重なったウィンドウに、カスタム メタデータを含む複数のオブジェクト メタデータキーの現在の値が表示されます。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud storage objects describe コマンドを使用します。
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
ここで
- BUCKET_NAMEは、メタデータを表示するオブジェクトが含まれるバケットの名前です。例:- my-awesome-bucket
- OBJECT_NAMEは、メタデータを表示するオブジェクトの名前です。例:- cat.jpeg
正常に終了すると、レスポンスは次の例のようになります。
bucket: my-awesome-bucket content_type: image/png crc32c_hash: pNKjPQ== creation_time: 2024-01-26T21:33:04+0000 custom_fields: Animal: Cat Type: Cute custom_time: 1970-01-01T00:00:00+0000 etag: CMXyydSA/IMDEAE= generation: '1706304784726341' md5_hash: KCbI3PYk1aHfekIvf/osrw== metageneration: 1 name: kitten.png size: 168276 storage_class: STANDARD storage_class_update_time: 2024-01-26T21:33:04+0000 storage_url: gs://my-awesome-bucket/kitten.png#1706304784726341 update_time: 2024-01-26T21:33:04+0000
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Terraform
オブジェクトのメタデータを表示するには、Terraform リソースを使用します。
REST API
JSON API
- gcloud CLI をインストールして初期化します。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- cURLを使用して、- GETObject リクエストで JSON API を呼び出します。- curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME" - ここで - BUCKET_NAMEは、メタデータを表示するオブジェクトが含まれるバケットの名前です。例:- my-bucket
- OBJECT_NAMEは、メタデータを表示するオブジェクトの URL エンコード名です。例:- pets%2Fdog.pngとして URL エンコードされている- pets/dog.png
 
XML API
- gcloud CLI をインストールして初期化します。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- cURLを使用して、- HEADObject リクエストで XML API を呼び出します。- curl -I HEAD \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME" - ここで - BUCKET_NAMEは、メタデータを表示するオブジェクトが含まれるバケットの名前です。例:- my-bucket
- OBJECT_NAMEは、メタデータを表示するオブジェクトの URL エンコード名です。例:- pets%2Fdog.pngとして URL エンコードされている- pets/dog.png
 
オブジェクトのメタデータの編集
オブジェクトに関連付けられているメタデータを編集するには、次の手順を実行します。
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、メタデータを編集するオブジェクトを含むバケットの名前をクリックします。 - [バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。 
- フォルダ内にあるオブジェクトに移動します。 
- オブジェクトの名前をクリックします。 - [オブジェクトの詳細] ページが開き、オブジェクトのメタデータが表示されます。 
- 編集するメタデータに関連付けられた鉛筆アイコンをクリックします(ページに表示されている場合)。 
- それ以外の場合は、[メタデータを編集] をクリックして、編集可能な他のメタデータにアクセスします。 - 上に重なったウィンドウで、必要に応じてメタデータを編集します。 - 標準のメタデータ フィールドでは、値を編集します。 
- 独自のカスタム メタデータを追加するには、[add_box 項目を追加] ボタンをクリックします。 
- カスタム メタデータではキーと値の両方を編集できます。 
- カスタム メタデータを削除するには、対応する [X] をクリックします。 
 - 上に重なったウィンドウでメタデータの編集が終了したら、[保存] をクリックします。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud storage objects update コマンドを使用します。
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME METADATA_FLAG
ここで
- BUCKET_NAMEは、メタデータを編集するオブジェクトが含まれるバケットの名前です。例:- my-bucket
- OBJECT_NAMEは、メタデータを編集するオブジェクトの名前です。例:- pets/dog.png
- METADATA_FLAGは、メタデータを編集するためのフラグです。例:- --content-type=image/png。
成功した場合は、次の例のようなレスポンスになります。
Patching gs://my-bucket/pets/dog.png#1560574162144861... Completed 1
このコマンドで更新できるメタデータの一覧については、コマンド リファレンスのページをご覧ください。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON API
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- 変更するメタデータを含む JSON ファイルを作成します。オブジェクトに関連付けられたメタデータの詳細については、Cloud Storage オブジェクト リソースをご覧ください。 - contentTypeなどの固定キーメタデータを追加または変更するには、次の形式を使用します。- { "STANDARD_METADATA_KEY": "STANDARD_METADATA_VALUE" } - ここで - STANDARD_METADATA_KEYは、追加または変更するメタデータのキーです。例:- contentType。
- STANDARD_METADATA_VALUEは、追加または変更するメタデータの値です。例:- image/png
 - カスタム メタデータを追加または変更するには、次の形式を使用します。 - { "metadata": { "CUSTOM_METADATA_KEY": "CUSTOM_METADATA_VALUE" } } - ここで - CUSTOM_METADATA_KEYは、追加または変更するカスタム メタデータのキーです。例:- dogbreed
- CUSTOM_METADATA_VALUEは、カスタム メタデータのキーに関連付ける値です。例:- shibainu。
 - カスタム メタデータのエントリを削除するには、次の形式を使用します。 - { "metadata": { "CUSTOM_METADATA_KEY": null } } - ここで - CUSTOM_METADATA_KEYは、削除するカスタム メタデータのキーです。例:- dogbreed
 
- cURLを使用して、- PATCHObject リクエストで JSON API を呼び出します。- curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME" - ここで - JSON_FILE_NAMEは、手順 2 で作成したファイルのパスです。
- BUCKET_NAMEは、メタデータを編集するオブジェクトが含まれるバケットの名前です。例:- my-bucket
- OBJECT_NAMEは、メタデータを編集するオブジェクトの URL エンコード名です。例:- pets%2Fdog.pngとして URL エンコードされている- pets/dog.png
 
オブジェクトのメタデータは UPDATE Object リクエストを使用して変更することもできます。この方法を使用する場合、リクエストに明示的に指定しないメタデータは、そのオブジェクトのメタデータから削除されます。
XML API
XML API を使用する場合は、オブジェクトを書き込むときだけに(オブジェクトのアップロード、移動、置き換えなど)メタデータを設定できます。次のガイドラインに沿って、オブジェクトのアップロードなどの手順を行います。
- 設定する各メタデータ値のリクエスト ヘッダーに - -H "METADATA_KEY:METADATA_VALUE"を追加します。例:- -H "Content-Type:image/png"。
- カスタム メタデータ値には - x-goog-meta-を前に付けます。カスタム- "METADATA_KEY:METADATA_VALUE"の例は- "x-goog-meta-dogbreed:shibainu"です。
詳細については、XML でのオブジェクトのアップロードをご覧ください。
次のステップ
- オブジェクトに関連付けられたメタデータを確認する。
- バケット メタデータを取得する。
- オブジェクトのストレージ クラスを変更する。
- オブジェクトに保留を追加する。
- リクエストの前提条件を満たして、リクエスト間でオブジェクトのメタデータが変更されないようにする。