我需要使用部署程序包创建Lambda函数。部署程序包zip约为50 MB。我想知道是否在运行时将部署包解压缩到/ tmp文件夹中?
我知道/ tmp存储空间限制为512 MB。我计划将文件从S3复制到/ tmp以进行本地处理,所以我想知道在我的情况下/ tmp中有多少实际存储空间。
答案 0 :(得分:1)
AWS没有提及部署程序包的运行时内存分配,它们仅指定了最大的部署程序包大小。来源AWS Lambda Limits
但是,根据AWS Lambda Execution Context,每个执行上下文在/ tmp目录中提供512 MB的额外磁盘空间。根据我的理解,您将实时获得512 MB的磁盘空间。
希望对您有帮助!
答案 1 :(得分:0)
tmp 目录存储与部署包是分开的,因此您将拥有全部512 MB的空间。 zip格式的部署程序包大小最大为50 MB,而解压缩文件的大小为250 MB。因此,您可以依靠512 MB。
请参阅相关文档:AWS Lambda Limits
答案 2 :(得分:0)
正如Andriy Ivaneyko回答的那样,每个lambda函数都有一个/ tmp文件夹,可用于中间处理
但是有一些副作用-
/ tmp文件夹在lambda函数调用中保留。
因此,当执行同一lambda函数的下一个实例时,该下一个实例可以访问第一次调用所存储/使用的文件。
在完成lambda函数的执行之前,您需要明确清理/ tmp文件夹。