本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 4:檢視部署結果
在此步驟中,您將檢視部署的結果。如果您的部署成功,您可以確認更新的 Lambda 函數接收生產流量。如果您的部署失敗,您可以使用 CloudWatch Logs 在部署生命週期雜湊期間執行的 Lambda 函數中檢視驗證測試的輸出。
測試已部署的 函數
sam deploy 命令會更新 my-date-time-app-myDateTimeFunction
Lambda 函數。函數版本已更新為 2 並新增至 live
別名。
在 Lambda 主控台中查看更新
開啟 AWS Lambda 主控台,網址為 https://console.aws.amazon.com/lambda/
://。 -
從導覽窗格中,選擇
my-date-time-app-myDateTimeFunction
函數。在主控台中,其名稱包含識別符,因此看起來像my-date-time-app-myDateTimeFunction-123456ABCDEF
。 -
選擇 Qualifiers (限定詞),然後選擇 Aliases (別名)。部署完成後 (約 10 分鐘),針對
live
別名,您應該會看到 Version: 2 (版本:2)。 -
在 Function code (函數原始程式碼) 中,檢視函數的來源碼。您的變更應該會出現。
-
(選用) 您可以使用步驟 2:更新 Lambda 函數中的測試說明來測試已更新的函數。使用下列承載建立新的測試事件,然後確認結果包含目前的時、分、秒。
{ "option": "time" }
若要使用 AWS CLI 測試更新的函數,請執行下列命令,然後開啟
out.txt
以確認結果包含目前的小時、分鐘和秒。aws lambda invoke --function
your-function-arn
--payload "{\"option\": \"time\"}" out.txt注意
如果您在部署完成之前使用 AWS CLI 來測試函數,您可能會收到非預期的結果。這是因為 CodeDeploy 每分鐘逐步將 10% 的流量轉移到更新版本。在部署期間,有些流量仍指向原始版本,因此
aws lambda invoke
可能會使用原始版本。10 分鐘後,部署完成,所有流量都指向新版本的函數。
在 CloudWatch Logs 中檢視掛鉤事件
在BeforeAllowTraffic
掛鉤期間,CodeDeploy 會執行您的 CodeDeployHook_beforeAllowTraffic
Lambda 函數。在AfterAllowTraffic
掛鉤期間,CodeDeploy 會執行您的 CodeDeployHook_afterAllowTraffic
Lambda 函數。每個函數都會執行驗證測試,以使用新的 time
參數呼叫更新版本的函數。如果您的 Lambda 函數更新成功,則 time
選項不會導致錯誤和驗證成功。如果函數未更新,無法辨識的參數會導致錯誤且驗證失敗。這些驗證測試僅供示範之用。您撰寫自己的測試來驗證部署。您可以使用 CloudWatch Logs 主控台來檢視您的驗證測試。
檢視 CodeDeploy 掛鉤事件
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
從導覽窗格中,選擇 Logs (日誌)。
-
從日誌群組清單中,選擇 /aws/lambda/CodeDeployHook_beforeAllowTraffic 或 /aws/lambda/CodeDeployHook_afterAllowTraffic。
-
選擇日誌串流。您應該只會看到一個。
-
展開事件以查看其詳細資訊。