步骤 4. 查看您的部署结果
在本步骤中,您将查看部署的结果。如果部署成功,即可确认更新的 Lambda 函数收到了生产流量。如果您的部署失败,可以使用 CloudWatch Logs 要查看验证测试的输出 Lambda 在部署生命周期连接中运行的功能。
测试您已部署的功能
TheThethe sam deploy 命令更新 my-date-time-app-myDateTimeFunction
Lambda 功能。函数版本更新为 2 并添加到 live
别名。
在 Lambda 控制台中查看更新
-
通过以下网址打开 AWS Lambda 控制台:https://console.amazonaws.cn/lambda/
。 -
从导航窗格中,选择
my-date-time-app-myDateTimeFunction
函数。在控制台中,其名称包含一个标识符,因此看起来类似my-date-time-app-myDateTimeFunction-123456ABCDEF
. -
选择 限定符,然后选择 别名. 部署完成后(大约10分钟),
live
别名,您应该看到 版本: 2. -
在 功能代码,查看您的功能的源代码。此时应显示您的更改。
-
(可选)您可以使用 步骤 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 挂钩事件
-
通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/
。 -
从导航窗格中,选择 日志.
-
从日志组列表中,选择 /aws/lambda/codedeployhook_beforeallowtraffic 或 /aws/lambda/codedeployhook_afterallowtraffic.
-
选择日志流。您应当只看到一个。
-
展开事件以查看其详细信息。