我在S3存储桶的不同文件夹中有数百万个文件。
文件很小。我希望下载所有
在名为nameof
的文件夹下。文件夹VER1
包含许多子文件夹,
我希望下载VER1
的所有子文件夹下的所有百万个文件。
(例如VER1
-> VER1
-> sub1
,file1.txt
-> VER1
-> sub1
-> {{1} }等)
下载所有文件的最快方法是什么?
使用subsub1
吗? file2.text
?
是否可以并行下载位于该文件夹下的所有文件?
答案 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实例,然后压缩文件,然后仅下载压缩文件。这样可以减少带宽需求。