第 3 步:部署更新的 Lambda 函数 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 3 步:部署更新的 Lambda 函数

在此步骤中,您将使用更新的myDateTimeFunction.js更新并启动 Lambda 函数的部署。您可以在 CodeDeploy 或Amazon Lambda控制台。

Amazon SAM 模板中的 AutoPublishAlias: live 行使得基础设施会检测使用 live 别名的函数的更新。函数的更新会通过 CodeDeploy 触发部署,从而将生产流量从函数的原始版本转移到更新版本。

这些区域有:sam packagesam deploy命令用于更新和触发 Lambda 函数的部署。您已在 打包AmazonSAM 应用程序 部署AmazonSAM 应用程序 中执行这些命令。

部署更新的 Lambda 函数

  1. SAM-Tutorial 目录中,运行以下命令。

    sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket your-S3-bucket

    这会创建一组新的构件,这些构件引用 S3 存储桶中的更新的 Lambda 函数。

  2. SAM-Tutorial 目录中,运行以下命令。

    sam deploy \ --template-file package.yml \ --stack-name my-date-time-app \ --capabilities CAPABILITY_IAM

    由于堆栈名称仍为 my-date-time-app,Amazon CloudFormation 会识别到这是一个堆栈更新。要查看更新的堆栈,可返回 Amazon CloudFormation 控制台,然后从导航窗格中,选择 Stacks (堆栈)

(可选)在部署期间查看流量(CodeDeploy 控制台)

  1. 从打开 CodeDeploy 控制台https://console.aws.amazon.com/codedeploy/.

  2. 在导航窗格中,展开 Applications (应用程序),然后选择 my-date-time-app-ServerlessDeploymentApplication 应用程序。

  3. Deployment groups (部署组) 中,选择应用程序的部署组。其状态应为 In progress (正在进行)

  4. Deployment group history (部署组历史记录) 中,选择正在进行中的部署。

    此页面上的 Traffic shifting (流量转移) 进度条以及 Original (原始)Replacement (替换) 框中的百分比显示了其进度。

(可选)在部署期间查看流量(Lambda 控制台)

  1. 打开 Amazon Lambda 控制台,地址:https://console.aws.amazon.com/lambda/

  2. 从导航窗格中,选择 my-date-time-app-myDateTimeFunction 函数。在控制台中,其名称包含一个标识符,因此看起来类似 my-date-time-app-myDateTimeFunction-123456ABCDEF

  3. 选择别名,然后选择live.

原始函数版本(版本 1)和更新的函数版本(版本 2)旁边的权重,显示了在加载此 Amazon Lambda 控制台页面时提供给每个版本的流量。该页面不会随时间更新权重。如果每隔一分钟刷新一次页面,则版本 1 的权重降低 10%,版本 2 的权重增加 10%,直到版本 2 的权重达到 100%。