从S3存储桶下载百万个文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从S3存储桶下载百万个文件相关的知识,希望对你有一定的参考价值。
我在S3存储桶上的不同文件夹中有数百万个文件。
文件非常小。我希望下载名为VER1
的文件夹下的所有文件。文件夹VER1
包含许多子文件夹,我希望下载VER1
所有子文件夹下的所有百万文件。
(例如VER1
-> sub1
-> file1.txt
,VER1
-> sub1
- > subsub1
- > file2.text
等)
下载所有文件的最快方法是什么?
使用s3 cp
? s3 sync
?
有没有办法并行下载该文件夹下的所有文件?
答案
使用AWS Command-Line Interface (CLI):
aws s3 sync s3://bucket/VER1 [name-of-local-directory]
根据我的经验,它将并行下载,但不一定会使用全带宽,因为每个对象都有很多开销。 (对于大型对象来说效率更高,因为开销更少。)
aws s3 sync
可能存在大量文件问题。你必须尝试看它是否有效。
如果你真的想要完整的性能,你可以编写自己的代码,以大量的并行方式下载,但是在你编写和测试这样一个程序的时候可能会节省时间。
另一种选择是使用aws s3 sync
下载到Amazon EC2实例,然后压缩文件并简单地下载zip文件。这将减少带宽需求。
以上是关于从S3存储桶下载百万个文件的主要内容,如果未能解决你的问题,请参考以下文章
将图像从 S3 存储桶下载到 Lambda 临时文件夹 (Node.js)
从 s3 到 Redshift 的数据复制:清单与我需要下载的文件位于不同的存储桶中