AWS S3是否支持批量下载?

4

我想知道是否有可能从AWS S3批量下载文件,如果可以,应该如何操作?
根据AWS S3文档,getObject SDK方法似乎只支持一次获取一个对象的功能。

但是在AWS S3中有一个名为“S3批处理操作”的功能。

enter image description here

不确定S3批处理操作是否也支持创建用于下载多个对象的作业?

我正在使用AWS Lambda开发应用程序,要获取的文件大多都是图像文件。
因此,需要批量下载数百个文件,最终生成的zip文件大小可能超过250MB。

是否有人遇到过这种情况?
如果有,怎样才能实现批量下载文件?

2个回答

3

不,这是不可能的。

没有API调用可以下载多个文件。相反,您需要发出多个API调用。您可以在应用程序中使用多线程或异步来加快下载速度。

请注意:如果您的目标是将多个文件转换为单个Zip文件,则可能会超出提供给AWS Lambda函数的磁盘存储空间。函数只提供500MB的磁盘空间在/tmp/中,因此它需要包含未解压缩和已压缩的文件。如果文件总大小超过了这个磁盘空间,这很可能会导致困难。


传输管理器具有下载目录方法。 - Ryan

2
这篇文章提到利用Node.js流来避免触及lambda内存和文件系统限制,是一个潜在的良好开端。如果时间紧迫,可以将其包装在带有检查点的步骤函数中。 使用AWS Lambda和Node压缩S3上的文件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接