これはよくある質問ですが、そこには良い答えはないようです。s3バケット内のオブジェクトを削除/カウントするにはどうすればよいですか?
私にはゴブが付いたバケツがあります(私はどれくらいの数の手掛かりがありませんか)。彼らはすべて2k個以内です。
1)のファイル数はどれくらいですか?はありません。 私はs3cmd.rb、aws/s3、jets3tのものを使いました。最初の1000レコード(実際にGETSを実行しています)を数えるコマンドがあります。
私はjets3tのアプレットを使用しています。実際にはうまく動作しますが、すべてのオブジェクトをリストすることができないため、ヒープスペースが足りなくなります。 (おそらく、それらをすべてGETSしてメモリに保持しているので)
2)バケットを削除するにはどうすればよいですか? 私が見たことの中で一番良いことは並列化された削除ループであり、問題があると同じファイルを削除しようとすることがあることがあります。これは、私が遭遇したすべての 'deleteall'コマンドがやり遂げるものです。
あなたは何百万の画像/ txtsのホスティングを誇っていますか?それを削除したいときはどうなりますか?
3)最後に、これに代わる回答がありますか?これらのファイルはすべてtxt/xmlファイルなので、S3がそんなに気にならないことさえありません。これを文書データベースのソートに移すべきでしょうか?
amazon S3 APIは、2つの非常に重要な操作(COUNTとDEL_BUCKET)を欠いているだけです。 (実際には削除バケットコマンドがありますが、バケツが空の場合にのみ機能します)これら2つの操作を実行しない方法を思いつく人がいると、私は喜んでたくさんの賞金をあきらめます。
UPDATE
ただ、いくつかの質問に答えます。私がこれを尋ねる理由は、私は過去1年間、何百万ものものを保管してきたことで、何百万もの2k txtやXML文書のようなものでした。最後の2〜3ヶ月前に、バケツを削除する前にバケツを空にしなければならないので、文字通りそのバケツを削除することを希望しました。これは、私がAPIサポートなしでこれをやり直さなければならないことを恐れている、お尻のような痛みでした。
UPDATE
これは家を岩!
http://github.com/SFEley/s3nuke/
私は数分以内に1-2kファイルの良いカップルのギグの価値をrm'd。
でも1000回の時にキーを列挙していても、それが何時でも何と言っても午後よりも長くなり、ついに退屈してしまい、ヒープがあまりにも過剰になったことに気づいた。 – eyberg
私は、項目数を取得するAPI呼び出しはないと思います。たぶんあなたはファイルの内容を取得するツールを使用していたでしょう。 Fiddlerなどのツールを使用してGETバケットリクエストを送信してください(私の回答にはREST APIのリンクがあります)。 xmlを元に戻すのに時間がかかりません。私は自分自身でそれをテストするような大きなバケツがないことを恐れている。 – kgiannakakis