从 s3 存储桶获取 2 个文件,并在使用 lambda 节点 js 将其上传到 s3 存储桶后制作 1 个 zip 文件
Posted
技术标签:
【中文标题】从 s3 存储桶获取 2 个文件,并在使用 lambda 节点 js 将其上传到 s3 存储桶后制作 1 个 zip 文件【英文标题】:Get 2 file from s3 bucket and make 1 zip file after upload it on s3 bucket using lambda node js 【发布时间】:2017-03-30 13:10:48 【问题描述】:我是 aws lambda(Node) 函数的新手,我使用 s3.getObject() 函数获取文件对象,但是在获取文件后如何在 lambda 函数中制作 zip 我不知道...
任何人都可以帮助我,如何制作 zip 文件并上传到 s3 存储桶。
【问题讨论】:
【参考方案1】:您可以使用JSZip,然后使用 s3.putObject 函数来保存 zip 文件。
请注意,如果您要压缩的文件很大,Lambda 不是适合您的解决方案。大文件意味着您将需要更多内存,这会增加您的成本,最大内存大小为 1.5GB。此外,您的本地磁盘空间有限,因此您必须考虑源文件和生成的 zip 输出的大小。相反,使用 Lambda 响应 S3 事件(已创建文件),然后向 SQS 发送带有文件信息的消息,并让该服务从 S3 加载文件,压缩它们,然后将它们放回 S3。
【讨论】:
以上是关于从 s3 存储桶获取 2 个文件,并在使用 lambda 节点 js 将其上传到 s3 存储桶后制作 1 个 zip 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何从 s3 存储桶中获取 Pyspark 中带有前缀的文件?
使用 boto3 lib 和 AWS Lambda 从 S3 存储桶中的压缩文件中获取数据流