步骤 4:查看部署结果 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 4:查看部署结果

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

测试部署的函数

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

在 Lambda 控制台中查看更新
  1. 打开 Amazon 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" }

    要使用 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/

  2. 从导航窗格中,选择 Logs(日志)

  3. 从日志组列表中选择 /aws/lambda/ _ 或 /aws/lambda/ _ CodeDeployHook。beforeAllowTraffic CodeDeployHook afterAllowTraffic

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

  5. 展开事件以查看其详细信息。

    日志组的 CodeDeployHook 日志流。