如何使用AWS CLI批量删除指定的Lambda函数版本
批量删除Lambda指定区间版本的AWS CLI操作方案
AWS Lambda没有提供批量删除版本的原生CLI指令,直接通过shell循环调用单版本删除接口就可以完成操作,操作前请先确认本地AWS CLI已经完成凭证配置,且当前使用的账号持有目标Lambda函数的lambda:DeleteFunctionVersion操作权限。
前置注意事项
- 无法删除
$LATEST版本,本次操作区间是1-25不涉及该版本,无需额外处理 - 如果1-25区间内的版本绑定了别名、或者被API网关、EventBridge、S3等事件源直接引用,删除会直接报错,需要先把这些引用迁移到26-30版本或者
$LATEST后再执行 - 删除操作不可逆,执行前建议先确认区间内没有需要留存的版本代码或配置
不同环境执行命令
Linux/macOS(Bash/Zsh环境)
把命令里的your-lambda-function-name替换成你实际的函数名,直接在终端执行即可:
for version in {1..25}; do echo "开始删除版本: $version" aws lambda delete-function-version \ --function-name your-lambda-function-name \ --qualifier $version done
Windows(PowerShell环境)
替换函数名后执行:
1..25 | ForEach-Object { Write-Host "开始删除版本: $_" aws lambda delete-function-version ` --function-name your-lambda-function-name ` --qualifier $_ }
可选预校验
如果担心误删,可以先把循环里的删除命令替换为版本查询命令,先核对所有待删除的版本信息,确认无误后再换删除命令执行,Bash环境校验命令示例:
for version in {1..25}; do echo "查询版本信息: $version" aws lambda get-function-configuration \ --function-name your-lambda-function-name \ --qualifier $version | jq '.Version, .LastModified' done
执行后会输出每个待删版本的版本号和最后修改时间,核对没问题再跑删除脚本即可。
内容的提问来源于stack exchange,提问作者ABC XYZ
相关产品推荐
相关产品推荐

