このページでは、Cloud Storage のバケットからオブジェクトを削除する方法を説明します。
必要な権限
コンソール
Google Cloud コンソールを使用してこのガイドを完了するには、適切な IAM 権限が必要です。削除するオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、Google Cloud コンソールに適用される IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
コマンドライン
コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。削除するオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定の操作に必要な権限の一覧については、gsutil コマンドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
クライアント ライブラリ
Cloud Storage クライアント ライブラリを使用してこのガイドを完了するには、適切な IAM 権限が必要です。削除するオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特に断りのない限り、クライアント ライブラリのリクエストは JSON API を介して行われ、JSON メソッドの IAM 権限に記載されている権限が必要です。クライアント ライブラリを使用してリクエストを行うときに呼び出される JSON API メソッドを確認するには、元のリクエストをログに記録します。
関連する IAM ロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
REST API
JSON API
JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。削除するオブジェクトが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
オブジェクトを削除する
いずれかの Cloud Storage バケットからオブジェクトを削除するには、次の手順を行います。
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除するオブジェクトを含むバケットの名前をクリックします。
[バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。
フォルダ内にあるオブジェクトに移動します。
削除する各オブジェクトのチェックボックスをオンにします。
フォルダのチェックボックスをオンにすると、そのフォルダ内のすべてのオブジェクトが削除されます。
[削除] ボタンをクリックします。
表示されたダイアログで [削除] をクリックします。
多数のオブジェクトを一度に削除する場合は、Google Cloud コンソールで [通知] アイコンをクリックして削除の進捗状況を追跡できます。Google Cloud コンソールでは、最大数百万個のオブジェクトをバックグラウンドで一括削除できます。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud
Google Cloud CLI コマンド gcloud storage rm
を使用します。
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
ここで
BUCKET_NAME
は、削除するオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、削除するオブジェクトの名前です。例:pets/dog.png
。
正常に終了すると、レスポンスは次の例のようになります。
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
gsutil
gsutil rm
コマンドを使用します。
gsutil rm gs://BUCKET_NAME/OBJECT_NAME
ここで
BUCKET_NAME
は、削除するオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、削除するオブジェクトの名前です。例:pets/dog.png
。
正常に終了すると、レスポンスは次の例のようになります。
Operation completed over 1 objects.
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、DELETE
リクエストで JSON API を呼び出します。curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンの名前です。BUCKET_NAME
は、削除するオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、削除するオブジェクトの URL エンコード名です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
XML API
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、DELETE Object
リクエストで XML API を呼び出します。curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンの名前です。BUCKET_NAME
は、削除するオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、削除するオブジェクトの URL エンコード名です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
オブジェクトを一括で削除する
数十万個以上のオブジェクトを一括削除する場合は、処理に非常に時間がかかるため、
gcloud storage
または gsutil の使用を避けてください。代わりに、Google Cloud コンソール(最大数百万個のオブジェクトを削除可能)またはオブジェクトのライフサイクル管理(任意の数のオブジェクトを削除可能)を使用します。- オブジェクトのライフサイクル管理を使用してバケット内のオブジェクトを一括削除するには、条件の
Age
が 0 に設定され、アクションがdelete
に設定されているライフサイクル構成ルールを設定します。
- オブジェクトのライフサイクル管理を使用してバケット内のオブジェクトを一括削除するには、条件の
特定のクライアント ライブラリを使用する場合、または JSON API を直接使用する場合は、削除リクエストをバッチ処理すると、作成する必要がある HTTP 接続の数を削減できます。
次のステップ
- オブジェクトのバージョニング機能について学習する。
- オブジェクトのライフサイクル管理機能について学習する。
- バケットを削除する方法を学習する。