AWS Lambda:如何通过Terraform避免每次部署生成新版本
解决方案
- 可以直接通过Terraform配置避免Lambda部署自动生成新版本,核心配置针对
aws_lambda_function资源调整即可:- 完全不需要版本管理、灰度/回滚能力的场景,直接将
publish参数设为false,部署时只会覆盖$LATEST版本,不会生成新的归档版本,不会额外占用存储配额。配置示例:
resource "aws_lambda_function" "target_func" { function_name = "你的Lambda函数名称" runtime = "python3.9" handler = "lambda_function.lambda_handler" filename = "你的函数打包文件路径" role = "你的Lambda执行角色ARN" # 核心配置:关闭自动发布新版本 publish = false }- 业务需要保留版本能力做灰度、回滚的场景,不需要关闭版本发布,新增
keep_latest_versions参数指定保留的最新版本数量,部署时Terraform会自动删除超出数量的旧版本,避免存储持续累积。配置示例:
resource "aws_lambda_function" "target_func" { function_name = "你的Lambda函数名称" runtime = "python3.9" handler = "lambda_function.lambda_handler" filename = "你的函数打包文件路径" role = "你的Lambda执行角色ARN" publish = true # 仅保留最近3个版本,可根据业务需求调整数值 keep_latest_versions = 3 } - 完全不需要版本管理、灰度/回滚能力的场景,直接将
- 如果你此前已经生成了大量历史版本,建议首次调整配置前先手动清理一遍存量旧版本,快速释放已占用的存储容量。
内容的提问来源于stack exchange,提问作者Krisshh Gurram
相关产品推荐
相关产品推荐

