多くのクラウドストレージオブジェクトを削除するための最良の方法は何ですか?〜500Kのオブジェクトを含むバケットがあり、それらをすべて削除したいと思います。
削除したいオブジェクトごとに1つのAPIリクエストを行う必要がありますか、それとも何らかのバッチメソッドがありますか?現在、gsutilを使用して一度に1つずつ削除しています。
多くのクラウドストレージオブジェクトを削除するための最良の方法は何ですか?〜500Kのオブジェクトを含むバケットがあり、それらをすべて削除したいと思います。
削除したいオブジェクトごとに1つのAPIリクエストを行う必要がありますか、それとも何らかのバッチメソッドがありますか?現在、gsutilを使用して一度に1つずつ削除しています。
オブジェクトごとに 1 つの API リクエストを行う必要があります。これを実現する最も簡単な方法は、gsutilを使用することです。
$ gsutil -m rm gs://bucket_with_many_objects/**
-m オプションはマルチスレッドを有効にし、多くのオブジェクトを並行して削除します。
gsutil では、「*」ワイルドカードは最上位のオブジェクト (パス名の次の「/」まで) のみに一致することに注意してください。すべてのオブジェクトを削除する場合は、次のいずれかを使用できます。
$ gsutil -m rm -R gs://bucket_with_many_objects
また
$ gsutil -m rm gs://bucket_with_many_objects/**
Mike Schwartz、Google Cloud Storage チーム
800,000 個を超えるオブジェクトを含むバケットで同様の問題がありました。gsutil -m rm gs://bucket-nameメソッドは機能しますが、基本的に各オブジェクトを一度に 1 つずつ削除しているため、時間がかかります。
Google の Cloud Storage チームに連絡した後、彼らはバケット ライフサイクル ポリシーの方向性を教えてくれました。即時ではありませんが、より効率的な方法でオブジェクトを一括削除できます。
この方法を使用した完全なバケットの削除に関するブログ投稿を書きました。