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

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

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

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

AWS SAM 範本中的AutoPublishAlias: live行會導致您的基礎設施偵測使用live別名之函數的更新。對函數的更新會觸發部署, CodeDeploy 該部署會將生產流量從函數的原始版本移至更新版本。

sam packagesam deploy命令用於更新和觸發 Lambda 函數的部署。您在 封裝 AWS SAM應用程式 部署 AWS SAM應用程式中執行過這些命令。

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

    sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket amzn-s3-demo-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 主控台的別名區段。