解压缩S3中存在的文件并将其上传回S3



我有一个50 GB的zip文件,里面有很多文件夹/子文件夹/文件。有没有办法在不下载这个文件的情况下解压缩这个文件并上传回S3?

我尝试使用Lambda进行此过程,但遇到了空间问题。有什么办法我可以用胶水做这个用途吗?

当然可以使用Glue。本指南将帮助您设置环境。

根据文档1G1.X工作程序有16GB的内存,因此您将需要至少5个(1个驱动程序,4个执行程序(来处理这样的文件大小。

否。

Amazon S3没有压缩/解压缩功能。因此,zip文件需要下载的某个地方,解压缩,然后需要上传内容。

网上有各种各样的例子,人们试图流式传输一个zip文件,并将生成的数据发送到S3而不在本地保存(例如在AWS Lambda功能中(,但这仍然涉及下载内容以进行解压缩(或者至少流式传输,这意味着下载而不保存(。

坦率地说,最简单的方法是使用AmazonEC2实例进行下载、解压缩和上传。

我遇到了类似的问题,并通过使用Javas3-sdk库解决了这个问题。正如你所说,这里的关键是,由于文件很大,你想";流";内容,而无需在内存中保留任何数据或写入磁盘。

我已经制作了一个可以用于此目的的库,并在Maven Central中提供,这里是GitHub链接:nejckorasa/s3 stream unzip

最新更新