

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 步骤 4：查看部署结果


在本步骤中，您将查看部署的结果。如果部署成功，即可确认更新的 Lambda 函数收到了生产流量。如果部署失败，您可以使用 CloudWatch 日志在 Lambda 函数中查看在部署生命周期挂钩期间运行的验证测试的输出。

**Topics**
+ [

## 测试部署的函数
](#tutorial-lambda-sam-deploy-test-deployed-function)
+ [

## 在 CloudWatch 日志中查看挂钩事件
](#tutorial-lambda-view-hook-events)

## 测试部署的函数


 **sam deploy** 命令更新 `my-date-time-app-myDateTimeFunction` Lambda 函数。函数版本更新为 2 并添加到 `live` 别名。

**在 Lambda 控制台中查看更新**

1. 打开 Amazon Lambda 控制台，网址为[https://console.aws.amazon.com/lambda/](https://console.amazonaws.cn/lambda/)。

1.  从导航窗格中，选择 `my-date-time-app-myDateTimeFunction` 函数。在控制台中，其名称包含一个标识符，因此看起来类似 `my-date-time-app-myDateTimeFunction-123456ABCDEF`。

1.  依次选择 **Qualifiers（限定词）**和 **Aliases（别名）**。部署完成后（大约 10 分钟），对于 `live` 别名，您应当看到 **Version: 2（版本：2）**。  
![\[CodeDeploy 控制台的别名部分。\]](http://docs.amazonaws.cn/codedeploy/latest/userguide/images/lambda-tutorial-function-version.png)

1.  在 **Function code（函数代码）**中，查看函数的源代码。此时应显示您的更改。

1.  （可选）您可以使用 [步骤 2：更新 Lambda 函数](tutorial-lambda-sam-update-function.md) 中的测试说明测试更新的函数。采用以下有效负载创建新的测试事件，然后确认结果中是否包含当前的小时、分钟和秒。

   ```
   {
       "option": "time"
     }
   ```

    要使用 Amazon CLI 来测试更新后的函数，请运行以下命令，然后打开`out.txt`以确认结果包含当前小时、分钟和秒。

   ```
   aws lambda invoke --function your-function-arn --payload "{\"option\": \"time\"}" out.txt 
   ```
**注意**  
 如果您在部署完成之前使用 Amazon CLI 来测试您的函数，则可能会收到意想不到的结果。这是因为每分钟将10％的流量 CodeDeploy 逐渐转移到更新的版本。在部署过程中，部分流量仍然指向原始版本，因此 `aws lambda invoke` 可能使用原始版本。10 分钟后，部署完成，所有流量均指向函数的新版本。

## 在 CloudWatch 日志中查看挂钩事件


 在`BeforeAllowTraffic`挂钩期间， CodeDeploy 执行您的 Lambd `CodeDeployHook_beforeAllowTraffic` a 函数。在`AfterAllowTraffic`挂钩期间， CodeDeploy 执行您的 Lambd `CodeDeployHook_afterAllowTraffic` a 函数。每个函数运行验证测试，使用新的 `time` 参数调用更新的函数版本。如果 Lambda 函数更新成功，则 `time` 选项不会导致错误，并且验证成功。如果函数未更新，则无法识别的参数会导致错误，并且验证失败。这些验证测试仅供演示之用。您自行编写测试来验证部署。您可以使用 CloudWatch 日志控制台查看您的验证测试。

**查看您的 CodeDeploy 挂钩事件**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1.  从导航窗格中，选择 **Logs（日志）**。

1.  从日志组列表中选择**/aws/lambda/CodeDeployHook\$1 beforeAllowTraffic** 或**/aws/lambda/CodeDeployHook\$1 afterAllowTraffic**。

1.  选择日志流。您应当只看到一个。

1.  展开事件以查看其详细信息。  
![\[日志组的 CodeDeployHook 日志流。\]](http://docs.amazonaws.cn/codedeploy/latest/userguide/images/lambda-tutorial-cloudwatch.png)