AWS Lambda代码上传遇未知错误,请求技术支持
AWS Lambda全账户部署失败问题排查与解决
问题现象
- 本地修改Lambda代码后运行正常,生成合规压缩包直接上传Lambda报错(对应界面:lambda zip uploading)
- 压缩包上传至S3后通过S3链接部署仍触发相同未知错误
- 使用Lambda在线编辑器修改代码(如添加注释)并部署,同样报错(对应界面:lambda code IDE、lambda code deploy on IDE)
- 此前可正常部署,当前账户下所有Lambda函数均出现该问题
CodeDeploy部署是否可行?
CodeDeploy配合Lambda的蓝绿/线性部署模式,有可能绕过当前控制台/S3上传的异常,但前提是需先确认部署包本身无问题、IAM权限配置正确。但更优先的是排查账户级别的异常——全账户函数都出现问题,大概率不是单个部署包的问题。
排查与解决步骤
1. 检查账户级服务限制与状态
- 查看AWS服务限额:进入控制台「Support Center」→「Service Quotas」,检查Lambda相关限额(并发数、存储容量、部署次数等)是否已达上限
- 确认账户状态:进入Billing控制台,检查是否存在未结清账单或账户受限情况
2. 排查IAM权限问题
- 确认部署用的IAM实体(用户/角色)拥有
lambda:UpdateFunctionCode、lambda:CreateFunction、s3:GetObject(S3部署场景)等必要权限 - 尝试使用管理员权限的IAM用户执行部署,排除权限不足的可能
3. 验证部署包的隐性问题
- 确认压缩包内主文件路径正确(例如Python函数的handler对应的文件不能在子目录下)
- 检查压缩包大小是否超限(Lambda部署包上限为50MB,解压后250MB)
- 创建最简测试函数(如仅返回"hello world"的Python/Node.js函数),用三种部署方式测试,确认是否仍报错:
- 在线编辑器直接编写最简代码部署
- 本地生成最简压缩包上传
- 最简包上传S3后部署
4. 使用CodeDeploy部署Lambda的操作步骤
若上述排查后仍需尝试CodeDeploy,可按以下步骤操作:
- 创建CodeDeploy应用:进入CodeDeploy控制台,点击「Create application」,选择计算平台为「AWS Lambda」
- 创建部署组:选择目标Lambda函数,配置部署策略(如蓝绿部署,保留旧版本流量)
- 上传部署包至S3:确保部署包符合Lambda要求,上传至目标S3桶
- 发起部署:在CodeDeploy部署组中点击「Create deployment」,选择S3中的部署包,指定Lambda handler等配置,部署过程中查看CodeDeploy日志获取详细错误信息
5. 获取更详细的错误日志
- 进入Lambda函数「Monitor」标签页,查看CloudWatch日志,即使部署报错,日志中可能包含具体错误信息
- 使用AWS CLI执行部署命令,获取控制台未展示的详细错误输出:
aws lambda update-function-code --function-name YOUR_FUNCTION_NAME --zip-file fileb://your-deploy-package.zip
内容的提问来源于stack exchange,提问作者Aryan Sharma
相关产品推荐
相关产品推荐

