本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:查看部署结果
在本步骤中,您将查看部署的结果。如果部署成功,即可确认更新的 Lambda 函数收到了生产流量。如果部署失败,您可以使用 CloudWatch 日志在 Lambda 函数中查看在部署生命周期挂钩期间运行的验证测试的输出。
测试部署的函数
sam deploy 命令更新 my-date-time-app-myDateTimeFunction
Lambda 函数。函数版本更新为 2 并添加到 live
别名。
在 Lambda 控制台中查看更新
打开 Amazon 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" }
要使用 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 挂钩事件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
从导航窗格中,选择 Logs(日志)。
-
从日志组列表中,选择 /aws/lambda/ _ 或 /aws/lambda/ _ CodeDeployHook。beforeAllowTraffic CodeDeployHook afterAllowTraffic
-
选择日志流。您应当只看到一个。
-
展开事件以查看其详细信息。