使用命令更新AWS Lambda代码后,如何查看历史版本?
可以查看AWS Lambda函数的历史代码版本!
当然没问题,不过得先明确Lambda的版本规则:只有当你显式发布带编号的正式版本时,AWS才会永久保存该版本的代码和配置。如果你只是用update-function-code更新$LATEST(默认的可变版本),没有发布正式版本的话,是没法直接找回之前的$LATEST代码的——所以建议每次更新后如果需要保留历史,记得发布版本。
下面是两种常用的查看历史版本代码的方法:
通过AWS管理控制台查看
- 登录AWS控制台,找到Lambda服务,定位到你的
http-endpoint函数 - 进入函数详情页后,点击顶部的版本标签:这里会列出所有你发布过的正式版本(比如V1、V2),每个版本都对应发布时的代码和配置
- 点击任意版本号进入详情页,切换到代码标签就能直接查看该版本的历史代码
- 如果要对比两个版本的代码差异,可以选中两个版本,点击页面上的对比按钮就能直观看到改动
通过AWS CLI查看
- 先列出函数的所有已发布版本,确认有哪些历史版本可以查看:
这个命令会返回每个版本的编号、创建时间等信息aws lambda list-versions-by-function --function-name 'http-endpoint' --region us-east-1 - 查看特定版本的代码:用
get-function命令获取该版本的代码包临时下载链接,之后就能解压查看代码了:
响应里的aws lambda get-function --function-name 'http-endpoint' --version 1 --region us-east-1Code.Location字段是一个预签名的临时URL,你可以用curl或者浏览器下载这个zip包,解压后就能看到对应版本的代码 - 如果需要恢复到某个历史版本,也可以用CLI直接操作,比如把
$LATEST回滚到V1版本:aws lambda update-function-code --function-name 'http-endpoint' --region us-east-1 --function-version 1
额外提醒
- 已发布的正式版本是不可修改的,一旦发布就会永久保留(除非你手动删除版本)
$LATEST是可变版本,每次update-function-code都会覆盖它,所以重要的代码变更一定要记得发布正式版本留存- 如果你用了Lambda的版本别名(比如PROD、DEV),别名可以指向不同的正式版本,方便快速切换环境
内容的提问来源于stack exchange,提问作者kagarlickij
相关产品推荐
相关产品推荐

