步驟 4:檢視部署結果 - AWS CodeDeploy

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

步驟 4:檢視部署結果

在此步驟中,您將檢視部署的結果。如果您的部署成功,您可以確認更新的 Lambda 函數接收生產流量。如果您的部署失敗,您可以使用 CloudWatch Logs 在部署生命週期雜湊期間執行的 Lambda 函數中檢視驗證測試的輸出。

測試已部署的 函數

sam deploy 命令會更新 my-date-time-app-myDateTimeFunction Lambda 函數。函數版本已更新為 2 並新增至 live 別名。

在 Lambda 主控台中查看更新
  1. 開啟 AWS Lambda 主控台,網址為 https://console.aws.amazon.com/lambda/://。

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

  3. 選擇 Qualifiers (限定詞),然後選擇 Aliases (別名)。部署完成後 (約 10 分鐘),針對 live 別名,您應該會看到 Version: 2 (版本:2)

    CodeDeploy 主控台的別名區段。
  4. Function code (函數原始程式碼) 中,檢視函數的來源碼。您的變更應該會出現。

  5. (選用) 您可以使用步驟 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 掛鉤事件
  1. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 從導覽窗格中,選擇 Logs (日誌)

  3. 從日誌群組清單中,選擇 /aws/lambda/CodeDeployHook_beforeAllowTraffic/aws/lambda/CodeDeployHook_afterAllowTraffic

  4. 選擇日誌串流。您應該只會看到一個。

  5. 展開事件以查看其詳細資訊。

    CodeDeployHook 日誌群組的日誌串流。