降级到以前版本的AWS Lambda

时间:2018-04-27 11:14:16

标签: amazon-web-services aws-lambda versioning

使用Amazon Lambda函数我使用AWS Lambda功能提供的版本控制功能。每当我向AWS部署新版本的工件时,我都会创建新版本的函数并将其发布(使用屏幕截图中的弹出窗口)。

enter image description here

但是我如何发布我的函数的任何先前版本(例如当我需要回滚我的上一个出版物时)?

4 个答案:

答案 0 :(得分:2)

要回滚到特定版本,您需要将分配给当前版本的别名指向要回滚到的版本

例如:我的最新版本为20,别名为“有效”。对于我要回滚或删除版本 20,我需要删除别名或将其重新分配给另一个版本。因此,如果我将别名指向版本17,则lambda将采用版本17作为默认版本或产品版本。

您可以在此处更新别名:

https://myRegion.console.aws.amazon.com/lambda/home?region=myRegion#/functions/functionName/aliases/Active?tab=graph

(使用相关值更新myRegion和functionName。)

在上面指定的页面中,转到“ 别名”部分,单击“ 版本”下拉菜单(默认情况下,它将显示为其分配别名的版本)。 选择别名要指向的版本,然后点击保存

就这么多!

答案 1 :(得分:1)

您应该为每个新版本提供别名。

来自AWS Documentation

  

相反,假设您在通知配置中指定了别名ARN(例如,PROD别名ARN),而不是指定功能ARN。在将Lambda函数的新版本升级到生产环境时,只需更新PROD别名即可指向最新的稳定版本。您无需在Amazon S3中更新通知配置。

     

当您需要回滚到以前的版本时,同样适用   你的Lambda功能。在这种情况下,您只需更新PROD别名   指向不同的功能版本。无需更新   事件源映射。

答案 2 :(得分:1)

我发现一个解决方案,如果您遇到紧急情况,可以使用lambda的先前版本,下载部署包,然后使用aws cli重新部署下载的zip包。我敢肯定有一个更优雅的解决方案,但是如果您在紧要关头并且现在需要一些东西,那么这个方法就可以了。

$ aws lambda update-function-code \
--function-name my_lambda_function \
--zip-file fileb://function.zip

答案 3 :(得分:0)

Lambda 函数中没有这样的功能。