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

AWS Chalice部署Lambda时出现非预期解压大小限制错误

AWS Chalice部署Lambda时出现未压缩包大小限制异常的原因

部署时触发的错误提示:

An error occurred (InvalidParameterValueException) when calling the UpdateFunctionCode operation: Unzipped size must be smaller than 93963569 bytes

核心原因

  • Chalice默认用Lambda层存储依赖:Lambda函数本身的未压缩包限制是250MB,但单个Lambda层的未压缩包限制为100MB。Chalice部署时会自动把项目依赖打包成独立层,同时Chalice自身框架代码会占用部分层空间,留给业务依赖的剩余容量就降到了约90MB,超过这个值就会触发错误。
  • 部署模式差异:直接上传Lambda函数包时,代码与依赖合并打包,遵循函数本身的250MB未压缩限制;但Chalice默认逻辑会将依赖分离到层,因此受限于层的单个大小限制。
  • 依赖文件冗余:项目中可能包含__pycache__、测试文件、依赖包自带的文档/示例等无用文件,这些会大幅增加未压缩体积,触发限制。

解决方法

  • 清理冗余文件:在项目根目录创建.chaliceignore文件,添加规则排除非必要文件,例如:
    __pycache__/
    tests/
    *.md
    *.txt
    */__pycache__/
    
    安装依赖时使用pip install --target=vendor --no-cache-dir,避免缓存文件混入。
  • 关闭自动层管理:修改.chalice/config.json,将manage_layers设置为false,Chalice会把依赖和代码打包在一起,使用Lambda函数本身的250MB未压缩限制。注意此方式下压缩后的总包大小不能超过50MB的上传限制。
  • 拆分依赖到多个层:若依赖体积确实过大,可手动将不同模块的依赖拆分到多个Lambda层,每个层控制在未压缩100MB以内,再在Chalice配置中引用这些自定义层。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:52:08