AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

AWS Lambda 限制

Lambda 函数 中所述,在您打包自定义代码 (包括任何依赖项) 并将其上传到 AWS Lambda 中之后,您就创建了 Lambda 函数。但是,AWS Lambda 会强加一些限制,例如,您的部署程序包的大小或 Lambda 函数在每次调用中分得的内存量。本章节讨论这些 AWS Lambda 限制。

AWS Lambda 限制

每个调用的 AWS Lambda 资源限制

资源 限制
内存分配范围 最小值 = 128 MB/最大值 = 1536 MB (增量为 64 MB). 如果超过最大内存使用量,则函数调用将会终止。
临时磁盘容量(“/tmp”空间) 512MB
文件描述符数 1024
过程和线程数(合并总数量) 1024
每个请求的最大执行时长 300 秒
Invoke 请求正文有效负载大小 (RequestResponse/同步调用) 6MB
Invoke 请求正文有效负载大小 (Event/异步调用) 128 K

每个区域的 AWS Lambda 账户限制

资源 默认限制
并发执行数(请参阅Lambda 函数并行执行 1000

请求提高并发执行数限制

  1. 打开 AWS Support Center 页面,登录(如有必要),然后单击 Create case

  2. Regarding (关于) 下,选择 Service Limit Increase (提高服务限制)

  3. Limit Type 下,选择 Lambda,在表单中填写所有必填字段,然后单击页面底部对应于首选联系方法的按钮。

注意

AWS 可以代您自动提高并发执行数限制,以使您的函数能够匹配传入事件率(例如由 Amazon S3 存储桶触发函数时)。

下表列出了部署 Lambda 函数的服务限制。

AWS Lambda 部署限制

项目 默认限制
Lambda 函数部署程序包大小 (压缩的 .zip/.jar 文件) 50 MB
每个区域可以上传的所有部署程序包的总大小 75GB

可压缩到部署程序包中的代码/依赖项的大小 (未压缩的 .zip/.jar 大小).

注意

每个 Lambda 函数都会在其的 /tmp 目录中接收到额外的 500 MB 的非持久性磁盘空间。该 /tmp 目录可用于在函数初始化期间加载额外的资源,如依赖关系库或数据集。

250MB
环境变量集的总大小 4 KB

AWS Lambda 限制错误

超出前面限制表格中列出的任意限制的函数都会失败并引发 exceeded limits 异常。这些限制是固定的,目前无法更改。例如,如果收到 CodeStorageExceededException 异常或来自 AWS Lambda 的类似 "Code storage limit exceeded" 的错误消息,则需要减小代码存储的大小。

减小代码存储的大小

  1. 删除不再使用的函数。

  2. 减小不想删除的函数的代码大小。可以借助 AWS Lambda 控制台、AWS Command Line Interface 或 AWS 开发工具包找到 Lambda 函数的代码大小。