AWS Lambda CloudFormation修改PackageType报错,是否需删除栈再部署?
无法更新Lambda的PackageType:是否必须删除栈?
报错信息
Resource handler returned message: "Invalid request provided: Updating PackageType is not supported"
核心结论
是的,无法通过直接更新栈完成PackageType的变更,但不需要删除整个栈,有两种可行方案:
方案1:移除旧Lambda后重建
- 在CDK代码中先删除原有Zip类型Lambda的定义,运行流水线完成栈更新。
- 待旧Lambda资源被清理后,再添加容器化Lambda的定义重新部署。
- 注意:如果旧Lambda关联了触发器、IAM角色或事件源,需提前确认这些关联的迁移或备份方案,避免业务中断。
方案2:新增容器化Lambda并切换流量
- 直接在现有栈中定义新的容器化Lambda函数。
- 通过配置流量切换(比如API Gateway权重路由、重新绑定事件源等),逐步将业务流量迁移到新函数。
- 验证新函数运行正常后,再删除旧的Zip类型Lambda资源。
注意事项
- 两种方案都需要确保业务连续性,建议先在测试环境验证流程。
- 使用CDK时,需确保流水线拥有足够的权限执行资源的创建、删除操作。
内容的提问来源于stack exchange,提问作者jbuddy_13
相关产品推荐
相关产品推荐

