AWS Lambda-部署程序包是否使用/ tmp?

时间:2019-07-08 08:50:53

标签: aws-lambda

我需要使用部署程序包创建Lambda函数。部署程序包zip约为50 MB。我想知道是否在运行时将部署包解压缩到/ tmp文件夹中?

我知道/ tmp存储空间限制为512 MB。我计划将文件从S3复制到/ tmp以进行本地处理,所以我想知道在我的情况下/ tmp中有多少实际存储空间。

3 个答案:

答案 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文件夹,可用于中间处理

但是有一些副作用-

  1. / tmp文件夹在lambda函数调用中保留。

  2. 因此,当执行同一lambda函数的下一个实例时,该下一个实例可以访问第一次调用所存储/使用的文件。

  3. 在完成lambda函数的执行之前,您需要明确清理/ tmp文件夹。