【发布时间】:2010-10-16 15:18:07
【问题描述】:
所以我知道这是一个常见问题,但似乎没有任何好的答案。
我有一个带有 gobs(我不知道有多少)文件的存储桶。它们都在 2k 以内。
1) 我如何确定我有多少这些文件没有列出? 我用过 s3cmd.rb、aws/s3 和 jets3t 的东西,我能找到的最好的方法是计算前 1000 条记录的命令(真正对它们执行GETS)。
我也一直在使用 jets3t 的小程序,因为它非常好用,但即使我无法列出所有对象,因为堆空间已用完。 (大概是因为它正在对所有这些执行GETS并将它们保存在内存中)
2) 我怎样才能删除一个存储桶? 我见过的最好的事情是并行删除循环,它有问题,有时它会尝试删除同一个文件。这就是我遇到的所有“删除所有”命令的作用。
那些吹嘘自己拥有数百万张图片/txt 的人在做什么?当你想删除它时会发生什么?
3) 最后,还有其他答案吗?所有这些文件都是 txt/xml 文件,所以我什至不确定 S3 是否值得关注——也许我应该把它移到各种文档数据库中??
归结为亚马逊 S3 API 直接缺少 2 个非常重要的操作 - COUNT 和 DEL_BUCKET。 (实际上有一个删除桶的命令,但它只在桶为空时才有效)如果有人想出一个不糟糕的方法来做这两个操作,我很乐意放弃很多赏金。
更新
只是回答几个问题。我问这个的原因是我在过去一年左右一直在存储数十万,更像是数百万个 2k txt 和 xml 文档。上一次,几个月前,我希望删除它确实需要 DAYS 天才能删除的存储桶,因为存储桶必须是空的,然后才能删除它。在没有 API 支持的情况下,我担心再次这样做是一件非常痛苦的事情。
更新
这房子太震撼了!
http://github.com/SFEley/s3nuke/
我在几分钟内完成了几场演出,价值 1-2k 的文件。
【问题讨论】: