このページでは、Cloud Storage のバケットからオブジェクトを削除する方法を説明します。
必要なロール
オブジェクトの削除に必要な権限を取得するには、削除するオブジェクトを含むバケットに対するストレージ オブジェクト ユーザー(roles/storage.objectUser
)の IAM ロールを付与するよう管理者に依頼してください。
このページで説明するタスクを Google Cloud コンソールで行う場合は、ストレージ オブジェクト ユーザー(roles/storage.objectUser
)ロールの代わりにストレージ管理者(roles/storage.admin
)のロールを付与するか、ストレージ オブジェクト ユーザー(roles/storage.objectUser
)に加えて基本ロールの閲覧者(roles/viewer
)を付与するように管理者に依頼してください。
これらのロールには、オブジェクトの削除に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.objects.delete
storage.objects.list
- この権限は、Google Cloud コンソールを使用する場合、または Google Cloud CLI で
--recursive
フラグやワイルドカードを使用する場合にのみ必要です。
- この権限は、Google Cloud コンソールを使用する場合、または Google Cloud CLI で
storage.buckets.list
- この権限は、このページで説明する操作を Google Cloud コンソールで行う場合にのみ必要です。
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットに対するロールの付与については、バケットで IAM を使用するをご覧ください。
オブジェクトを削除する
いずれかの Cloud Storage バケットからオブジェクトを削除するには、次の手順を行います。
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、削除するオブジェクトを含むバケットの名前をクリックします。
[バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。
フォルダ内にあるオブジェクトに移動します。
削除する各オブジェクトのチェックボックスをオンにします。
フォルダのチェックボックスをオンにすると、そのフォルダ内のすべてのオブジェクトが削除されます。
[削除] ボタンをクリックします。
表示されたダイアログで [削除] をクリックします。
多数のオブジェクトを一度に削除する場合は、Google Cloud コンソールで [通知] アイコンをクリックして削除の進捗状況を追跡できます。Google Cloud コンソールでは、最大数百万個のオブジェクトをバックグラウンドで一括削除できます。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
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
クライアント ライブラリ
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
を使用して、DELETE
リクエストで JSON API を呼び出します。curl -X DELETE \ -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
を使用して、DELETE Object
リクエストで XML API を呼び出します。curl -X DELETE \ -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
オブジェクトを一括で削除する
数十万個以上のオブジェクトを一括削除する場合は、処理に非常に時間がかかるため、gcloud storage
の使用を避けてください。代わりに、次のいずれかの方法を検討してください。
オブジェクトのライフサイクル管理機能を使用すると、任意の数のオブジェクトを削除できます。この機能を使用してバケット内のオブジェクトを一括削除するには、条件の
Age
が 0 に設定され、アクションがdelete
に設定されているライフサイクル構成ルールを設定します。ルールを設定すると、Cloud Storage は非同期で一括削除を実行します。削除するオブジェクトが 100 万個までであれば、Google Cloud コンソールも推奨のオプションです。このような削除リクエストを開始すると、プロセスはバックグラウンドで行われます。一括削除のステータスを確認するには、Google Cloud コンソールのヘッダーにある通知ボタン(notifications)をクリックします。
特定のクライアント ライブラリを使用する場合、または JSON API を直接使用する場合は、削除リクエストをバッチ処理すると、作成する必要がある HTTP 接続の数を削減できます。
次のステップ
- オブジェクトのバージョニング機能について学習する。
- オブジェクトのライフサイクル管理機能について学習する。
- バケットを削除する方法を学習する。