降级到以前版本的 AWS Lambda

Gle*_*iko 8 versioning amazon-web-services aws-lambda

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

在此处输入图片说明

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

Tho*_*rge 6

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

来自AWS 文档

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

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


akh*_*hi1 5

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

例如:我的最新版本是 20,并且有一个别名“Active”。为了回滚或删除版本20,我需要删除别名或将其重新分配给另一个版本。因此,如果我将别名指向版本 17,那么 lambda 会将版本 17 作为默认版本或产品版本。

您可以在此处更新别名:

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

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

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

就这样 !!!


小智 5

如果您急需使用 lambda 的先前(工作)版本,下载部署包,使用 aws cli 重新部署下载的 zip 包,我发现一种解决方案有效。我确信有一个更优雅的解决方案,但是如果您处于紧要关头并且您现在需要一些东西,这很有效。

$ aws lambda update-function-code \
--function-name my_lambda_function \
--zip-file fileb://function.zip
Run Code Online (Sandbox Code Playgroud)