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

如何使用Serverless框架将大体积函数代码部署至S3?

解决Serverless Framework部署Lambda时的包大小超限问题

当Serverless Framework部署Lambda遇到解压包大小超过262MB的限制时,可以通过配置使用S3存储部署包来解决,和你之前用ClaudiaJS的--use-s3-bucket逻辑一致。

具体配置步骤:

  • 在serverless.yml中添加package配置块,指定用于存储部署包的S3桶:
package:
  bucket: your-target-s3-bucket # 替换为你已创建的S3桶名称,需与Lambda同区域
  # 可选:自定义打包后的文件名,避免重复覆盖
  name: ${self:service}-${self:provider.stage}-${date.now()}.zip
  • 如果你没有提前手动打包代码,Serverless Framework会自动将项目代码打包成zip文件,上传到指定的S3桶,再告知Lambda从该S3位置拉取包进行部署。

额外注意事项:

  • 确保部署使用的AWS角色拥有该S3桶的读写权限(s3:PutObject、s3:GetObject等),默认的Serverless角色通常已包含这些权限,自定义角色需手动添加对应策略。
  • S3桶必须和Lambda函数处于同一AWS区域,否则会出现跨区域访问错误。
  • 若包体积仍接近上限,可进一步优化:比如通过package.exclude剔除不必要的文件(如测试文件、日志),利用Webpack做代码压缩和tree shaking,或者只保留生产依赖(Serverless默认会忽略devDependencies)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:00:55