Java AWS lambda函数用于从s3检索任何上载的文件,并再次将解压缩的文件夹上载回s3
我有一个s3存储桶,用于用户上传压缩目录,通常大小为1GB。压缩目录在子文件夹和更多文件夹中保存图像 我需要创建一个lambda函数,它将在新的上传时被触发,解压文件,并将解压后的内容上传回s3存储桶,这样我就可以通过http访问单个文件-但我对如何编写这样的函数一无所知 我关注的是:Java AWS lambda函数用于从s3检索任何上载的文件,并再次将解压缩的文件夹上载回s3,java,python,amazon-web-services,amazon-s3,aws-lambda,Java,Python,Amazon Web Services,Amazon S3,Aws Lambda,我有一个s3存储桶,用于用户上传压缩目录,通常大小为1GB。压缩目录在子文件夹和更多文件夹中保存图像 我需要创建一个lambda函数,它将在新的上传时被触发,解压文件,并将解压后的内容上传回s3存储桶,这样我就可以通过http访问单个文件-但我对如何编写这样的函数一无所知 我关注的是: Pyphon或Java可能比nodejs的性能更好 在解压缩GB或更大的文件时,避免内存不足(我可以将内容流回到s3吗?) AWS Lambda当前的执行时间限制为5分钟 如果下载+解压+上传的运行时间超过5分
- Pyphon或Java可能比nodejs的性能更好
- 在解压缩GB或更大的文件时,避免内存不足(我可以将内容流回到s3吗?)
AWS Lambda当前的执行时间限制为5分钟 如果下载+解压+上传的运行时间超过5分钟,Lambda将不适用于您 以下是一些解决方案的参考: 各州: 每个Lambda函数在其自己的/tmp目录中接收500MB的非持久性磁盘空间 这将不足以存储1GB zip文件和解压缩内容 您需要将“输入”zip文件按范围进行流式处理,并将解压缩后的文件分组存储以避免此问题。使用Lambda用于此应用程序可能是不值得的。状态: 每个Lambda函数在其自己的/tmp目录中接收500MB的非持久性磁盘空间 这将不足以存储1GB zip文件和解压缩内容
您需要将“输入”zip文件按范围进行流式处理,并将解压缩后的文件分组存储以避免此问题。使用Lambda用于此应用程序可能不值得。由于其他海报中提到的原因,Lambda不适合实际处理文件。但是,由于它与S3事件集成,因此可以将其用作其他事件的触发器。它可以向SQS发送消息,在SQS中,在EC2上运行的另一个进程(ECS、ElasticBeanstalk、ECS)可以处理队列中的消息,然后处理来自S3的文件 由于其他海报提到的原因,Lambda不适合实际处理文件。但是,由于它与S3事件集成,因此可以将其用作其他事件的触发器。它可以向SQS发送消息,在SQS中,在EC2上运行的另一个进程(ECS、ElasticBeanstalk、ECS)可以处理队列中的消息,然后处理来自S3的文件 Lambda也被限制为512 MiB的临时磁盘空间。。。Lambda也被限制为512 MiB的临时磁盘空间。。。