从S3存储桶下载数百万个文件

时间:2018-10-30 20:30:53

标签: amazon-web-services amazon-s3

我在S3存储桶的不同文件夹中有数百万个文件。

文件很小。我希望下载所有 在名为nameof的文件夹下。文件夹VER1包含许多子文件夹, 我希望下载VER1的所有子文件夹下的所有百万个文件。

(例如VER1-> VER1-> sub1file1.txt-> VER1-> sub1-> {{1} }等)

下载所有文件的最快方法是什么?

使用subsub1吗? file2.text

是否可以并行下载位于该文件夹下的所有文件?

1 个答案:

答案 0 :(得分:1)

使用AWS Command-Line Interface (CLI)

aws s3 sync s3://bucket/VER1 [name-of-local-directory]

根据我的经验,它将并行下载,但由于每个对象都有很多开销,因此不一定会使用全部带宽。 (对于大型对象,由于开销较小,因此效率更高。)

aws s3 sync可能存在大量文件问题,这是可能的。您必须尝试一下它是否有效。

如果您确实想要完整的性能,则可以编写自己的代码以大规模并行下载的方式,但是节省时间可能会浪费在编写和测试此类程序所需的时间上。

另一种选择是使用aws s3 sync下载到Amazon EC2实例,然后压缩文件,然后仅下载压缩文件。这样可以减少带宽需求。