【问题标题】:Downgrade to previous version of AWS Lambda降级到以前版本的 AWS Lambda
【发布时间】:2018-04-27 11:14:15
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    来自AWS Documentation

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我并不骄傲,但我在紧急情况下这样做了
      【解决方案3】:

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

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

      您可以在此处更新别名:

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

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

      在上述指定页面的“Aliases”部分,点击“Version”下拉菜单(默认情况下会显示分配别名的版本)。 选择您的别名要指向的版本,然后点击保存

      就是这样!!!

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-30
          • 2013-01-23
          • 2019-09-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-24
          相关资源
          最近更新 更多