You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Serverless Framework部署Lambda加层后触发解压大小超限问题问询

AWS Lambda部署解压大小统计规则

报错中提到的Code uncompressed size is greater than max allowed size of 272629760对应的是AWS Lambda的硬性限制:单个函数所有代码+绑定的所有Lambda层的解压后总大小不能超过260MB(272629760字节)。

除了你提到的函数自身代码解压大小、Lambda层解压大小外,以下内容也会被计入总大小统计:

  • 函数代码压缩包解压后的所有文件,包括打包时不小心带入的冗余文件:如果使用Serverless Framework没有配置打包过滤规则,项目根目录下的所有未被排除的文件都会被打进代码包,常见的冗余内容包括.git版本控制目录、node_modules目录(Serverless插件依赖)、本地测试数据、日志文件、.serverless临时打包目录、IDE配置文件等
  • 所有绑定到当前函数的Lambda层的解压后大小之和:即使你没有使用层内的部分文件,层的完整解压大小也会全额计入总配额
  • 如果你使用的是Java fat jar打包方式,jar包内嵌套的依赖jar本身的大小也会被直接计入,不会单独计算嵌套jar内部的解压大小,也不会对重复依赖做去重统计

排查方法

你可以在本地执行Serverless打包命令 sls package,打包完成后进入项目下的.serverless目录,找到对应函数的代码压缩包手动解压,统计所有文件的总大小后加上你要添加的层的解压大小,即可得到Lambda侧实际统计的总大小。

优化建议

  • 在serverless.yml中添加打包排除规则,过滤不需要的冗余文件,示例配置如下:
package:
  exclude:
    - .git/**
    - node_modules/**
    - .serverless/**
    - test/**
    - '*.log'
    - '*.iml'
    - .idea/**
  • 将Java项目中的公共依赖抽离到Lambda层,减少函数自身代码包的大小
  • 清理函数代码包内不需要的静态资源、测试用例等无用内容

内容的提问来源于stack exchange,提问作者Collins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:39:03