4

多くのクラウドストレージオブジェクトを削除するための最良の方法は何ですか?〜500Kのオブジェクトを含むバケットがあり、それらをすべて削除したいと思います。

削除したいオブジェクトごとに1つのAPIリクエストを行う必要がありますか、それとも何らかのバッチメソッドがありますか?現在、gsutilを使用して一度に1つずつ削除しています。

4

3 に答える 3

5

オブジェクトごとに 1 つの API リクエストを行う必要があります。これを実現する最も簡単な方法は、gsutilを使用することです。

$ gsutil -m rm gs://bucket_with_many_objects/**

-m オプションはマルチスレッドを有効にし、多くのオブジェクトを並行して削除します。

于 2013-02-15T00:01:12.523 に答える
2

gsutil では、「*」ワイルドカードは最上位のオブジェクト (パス名の次の「/」まで) のみに一致することに注意してください。すべてのオブジェクトを削除する場合は、次のいずれかを使用できます。

$ gsutil -m rm -R gs://bucket_with_many_objects

また

$ gsutil -m rm gs://bucket_with_many_objects/**

Mike Schwartz、Google Cloud Storage チーム

于 2013-02-15T16:45:10.017 に答える
1

800,000 個を超えるオブジェクトを含むバケットで同様の問題がありました。gsutil -m rm gs://bucket-nameメソッドは機能しますが、基本的に各オブジェクトを一度に 1 つずつ削除しているため、時間がかかります。

Google の Cloud Storage チームに連絡した後、彼らはバケット ライフサイクル ポリシーの方向性を教えてくれました。即時ではありませんが、より効率的な方法でオブジェクトを一括削除できます。

この方法を使用した完全なバケットの削除に関するブログ投稿を書きました。

于 2014-04-10T16:39:20.430 に答える