本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 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 函數
-
在
SAM-Tutorial
目錄中執行下列命令。sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket
DOC-EXAMPLE-BUCKET
這會建立一組新的成品,參考 S3 儲存貯體中更新的 Lambda 函數。
-
在
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 主控台)
請在以下位置開啟 CodeDeploy 主控台。
https://console.aws.amazon.com/codedeploy/ -
在瀏覽窗格中,展開 [應用程式],然後選擇您的 my-date-time-app- 應用ServerlessDeploymentApplication程式。
-
在 Deployment groups (部署群組) 中,選擇您應用程式的部署群組。其狀態應為 In progress (進行中)。
-
在 Deployment group history (部署群組歷史記錄) 中,選擇進行中的部署。
此頁面上的 Traffic shifting (流量轉移) 進度列及 Original (原始) 和 Replacement (取代) 方塊中的百分比會顯示其進度。
(選用) 以檢視部署期間的流量 (Lambda 主控台)
請在以下位置開啟 AWS Lambda 主控台。
https://console.aws.amazon.com/lambda/ -
從導覽窗格中,選擇您的
my-date-time-app-myDateTimeFunction
函數。在主控台中,其名稱包含識別符,因此看起來像my-date-time-app-myDateTimeFunction-123456ABCDEF
。 -
選擇 [別名],然後選擇 [即時]。
原始函數版本 (版本 1) 和已更新的函數版本 (版本 2) 旁的權重會顯示載入此 AWS Lambda 主控台頁面時,每個版本接到多少流量。頁面不會隨著時間更新權重。如果您每分鐘重新整理一次頁面,版本 1 的權重會減少 10%,而版本 2 的權重會增加 10%,直到版本 2 的權重達到 100 為止。
![CodeDeploy 控制台的別名部分。](images/lambda-tutorial-lambda-console-20-percent-deployed.png)