このページでは、オブジェクト保持の使用方法を説明します。具体的には、新しいオブジェクトにデフォルトで保持を設定する方法や、個々のオブジェクトに保持を設定する方法を見ていきます。
必要な権限
Cloud Storage でこの機能を使用するには、Cloud Storage でバケットとオブジェクトを表示して更新するための権限が必要です。
バケットを含むプロジェクトを所有している場合は、必要な権限があると考えられます。
IAM を使用する場合は、関連するバケットに対する
storage.buckets.update
、storage.buckets.get
、storage.objects.update
、storage.objects.get
権限が必要です。これらの権限を持つロール(ストレージ管理者など)を取得する手順については、IAM 権限の使用をご覧ください。ACL を使用する場合は、関連するバケットとそのオブジェクトに対する OWNER 権限が必要です。設定方法については、ACL の設定をご覧ください。
デフォルトのイベントベースの保持プロパティを使用する
以下のタスクでは、バケットでデフォルトのイベントベースの保持プロパティを設定し、表示する方法について説明します。このプロパティを有効にすると、バケットに追加された新しいオブジェクトにイベントベースの保持が自動的に設定されます。
デフォルトのイベントベースの保持プロパティを設定する
バケットでデフォルトのイベントベースの保持プロパティを有効または無効にするには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、デフォルトのイベントベースの保持プロパティを設定するバケットの名前をクリックします。
ページ上部にある [保護] タブを選択します。
バケットの現在のステータスは、[デフォルトのイベントベースの保留オプション] セクションに表示されます。
[デフォルトのイベントベースの保留オプション] セクションで、現在のステータスをクリックして変更します。
ステータスは [有効] または [無効] と表示されます。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
適切なフラグを指定して、gcloud storage buckets update
コマンドを使用します。
gcloud storage buckets update gs://BUCKET_NAME FLAG
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
デフォルトのイベントベースのオブジェクト保持を有効にする場合、
FLAG
は--default-event-based-hold
、無効にする場合は--no-default-event-based-hold
です。
クライアント ライブラリ
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 ファイルを作成します。
{ "defaultEventBasedHold": STATE }
ここで、STATE は
true
またはfalse
です。cURL
を使用して、PATCH
Bucket リクエストで 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?fields=defaultEventBasedHold"
ここで
JSON_FILE_NAME
は、手順 2 で作成したファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
XML API
XML API でオブジェクト保持を処理することはできません。代わりに、gcloud CLI などの他の Cloud Storage ツールを使用してください。
バケットのデフォルトの保持ステータスを取得する
バケットの新しいオブジェクトにイベントベースの保持がデフォルトで設定されるかどうかを確認するには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、デフォルトのイベントベースのステータスを確認するバケットの名前をクリックします。
ページ上部にある [保護] タブを選択します。
ステータスが [デフォルトのイベントベースの保留オプション] セクションに表示されます。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud storage buckets describe
コマンドを使用し、--format
フラグを指定します。
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_event_based_hold)"
ここで、BUCKET_NAME
はステータスを表示するバケットの名前です。例: my-bucket
正常に終了すると、レスポンスは次の例のようになります。
default_event_based_hold: true
クライアント ライブラリ
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
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、目的のfields
を含むGET
Bucket リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
バケットでデフォルトのイベントベースの保持が有効になっている場合、レスポンスは次のようになります。
{ "defaultEventBasedHold": true }
XML API
XML API でオブジェクト保持を処理することはできません。代わりに、gcloud CLI などの他の Cloud Storage ツールを使用してください。
個々のオブジェクト保持を管理する
以下では、個々のオブジェクトの保持の変更と表示を行う方法について説明します。
オブジェクト保持を設定または解除する
バケット内のオブジェクトに保持を設定または解除するには、次の操作を行います。
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、保持を設定または解除するオブジェクトを含むバケットの名前をクリックします。
保持を設定または解除するオブジェクト名の横にあるチェックボックスをオンにします。
[保留を管理] ボタンをクリックします。
[保留を管理] ウィンドウが表示されます。
必要に応じて、保持の種類の各チェックボックスをオンにします。
[保留の設定を保存] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
適切なフラグを指定して、gcloud storage objects update
コマンドを使用します。
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、該当するオブジェクトの名前です。例:pets/dog.png
FLAG
は、次のいずれかです。--event-based-hold
: オブジェクトでイベントベースの保持を有効にします。--no-event-based-hold
: オブジェクトでイベントベースの保持を無効にします。--temporary-hold
: オブジェクトで一時的な保持を有効にします。--no-temporary-hold
: オブジェクトで一時的な保持を無効にします。
保持の種類の詳細については、オブジェクト保持をご覧ください。
クライアント ライブラリ
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 ファイルを作成します。
{ "HOLD_TYPE": STATE }
ここで
HOLD_TYPE
は、オブジェクトに設定または解除する保持の種類です。たとえば、temporaryHold
やeventBasedHold
です。保持の種類の詳細については、オブジェクト保持をご覧ください。- 保持を設定する場合、
STATE
はtrue
です。保持を解除する場合はfalse
です。
cURL
を使用して、PATCH
Object リクエストで 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
XML API
XML API でオブジェクト保持を処理することはできません。代わりに、gcloud CLI などの他の Cloud Storage ツールを使用してください。
オブジェクト保持のステータスを取得する
オブジェクトに設定されている保持を確認するには、オブジェクト メタデータの表示にある一般的な手順を実行します。
次のステップ
- オブジェクトに設定可能な保持の種類など、オブジェクト保持の詳細を学習する。
- 保持ポリシーの使用方法を学習する。
- リクエストの前提条件を満たして競合状態を防ぐ方法について学習する。