2011-12-28 106 views
3

我想为大小为200万的文件设置s3存储桶的灾难恢复副本。从S3中下载非常大量的文件

这并不一定要进行自动化处理,因为我们相信亚马逊的承诺,高可靠性,我们启用了版本控制和设置MFA删除桶本身。

因此,我只是想定期下载(手动)存储桶的内容以保持脱机副本。

我已经尝试了几个S3客户端,但大多数处理这样的大文件夹时挂起。

是否有任何工具,是适合这份工作还是我们不得不求助于亚马逊的数据导出服务(这里,我们必须给他们,我们需要脱机备份USB驱动器每次)。

在此先感谢您的建议!

回答

3

处理数百万个文件的桶可能会非常具有挑战性,除非对文件名有某种“结构”。不幸的是,这不会帮助任何图形用户界面工具,所以你不能实现自己的解决方案。例如:

  1. 如果所有文件开始的日期,您可以使用头在Get Bucket请求,只返回超过一定日期的文件。

  2. 如果您文件被安排在“虚拟”文件夹,可以用户prefixdelimiter头到每个文件夹分别处理。 (考虑这样做并行以加快速度)

即使你没有结构,也不会丢失。 S3客户端因为试图将整个200万文件列表保存在内存中而挂起。您可以一次下载列出1000个文件的对象,但将其保存到文件/数据库等中。获取全部200万条文件需要很长时间,但一旦完成后,只需循环访问您保存的列表并根据需要下载即可。

更重要的是,如果你能“指数”你在数据库文件,因为它们被添加到S3,你可以用它来确定哪些文件进行下载。