步驟 3:部署更新的 Lambda 函數 - AWS CodeDeploy

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 3:部署更新的 Lambda 函數

在此步驟中,您可以使用更新程式myDateTimeFunction.js來更新和啟動 Lambda 函數的部署。您可以在 CodeDeploy 或 AWS Lambda 主控台中監視部署進度。

AWS SAM 範本中的這一AutoPublishAlias: live行會讓您的基礎結構偵測使用live別名之函數的更新。函數的更新會觸發部署 CodeDeploy ,將生產流量從原始版本的函數轉移到更新版本。

sam package和命sam deploy令可用來更新和觸發 Lambda 函數的部署。您在 Package S AWS AM 應用程式 部署 S AWS AM 應用程式中執行過這些命令。

若要部署您更新的 Lambda 函數
  1. SAM-Tutorial 目錄中執行下列命令。

    sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket DOC-EXAMPLE-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,所以請 AWS CloudFormation 認識到這是堆疊更新。若要檢視更新的堆疊,請返回 AWS CloudFormation 主控台,然後從導覽窗格中選擇 [堆]。

(選擇性) 以檢視部署期間的流量 (CodeDeploy 主控台)
  1. 請在以下位置開啟 CodeDeploy 主控台。 https://console.aws.amazon.com/codedeploy/

  2. 在瀏覽窗格中,展開 [應用程式],然後選擇您的 my-date-time-app- 應用ServerlessDeploymentApplication程式。

  3. Deployment groups (部署群組) 中,選擇您應用程式的部署群組。其狀態應為 In progress (進行中)

  4. Deployment group history (部署群組歷史記錄) 中,選擇進行中的部署。

    此頁面上的 Traffic shifting (流量轉移) 進度列及 Original (原始)Replacement (取代) 方塊中的百分比會顯示其進度。

    CodeDeploy 控制台的流量轉移進度部分。
(選用) 以檢視部署期間的流量 (Lambda 主控台)
  1. 請在以下位置開啟 AWS Lambda 主控台。 https://console.aws.amazon.com/lambda/

  2. 從導覽窗格中,選擇您的 my-date-time-app-myDateTimeFunction 函數。在主控台中,其名稱包含識別符,因此看起來像 my-date-time-app-myDateTimeFunction-123456ABCDEF

  3. 選擇 [別名],然後選擇 [即時]。

原始函數版本 (版本 1) 和已更新的函數版本 (版本 2) 旁的權重會顯示載入此 AWS Lambda 主控台頁面時,每個版本接到多少流量。頁面不會隨著時間更新權重。如果您每分鐘重新整理一次頁面,版本 1 的權重會減少 10%,而版本 2 的權重會增加 10%,直到版本 2 的權重達到 100 為止。

CodeDeploy 控制台的別名部分。