如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:将 Lambda 函数添加为代码挂钩(控制台)
在本部分中,您将更新 OrderFlowers 意图的配置以使用 Lambda 函数,如下所示:
-
首先使用 Lambda 函数作为代码挂钩以履行
OrderFlowers
意图。您将测试机器人并验证您收到了来自 Lambda 函数的履行消息。Amazon Lex 仅在您提供订花所需的所有插槽的数据后才会调用 Lambda 函数。 -
配置同一 Lambda 函数作为代码挂钩以执行初始化和验证。您将测试和验证 Lambda 函数是否会执行验证(当您提供插槽数据时)。
将 Lambda 函数添加为代码挂钩(控制台)
-
在 Amazon Lex 控制台中,选择 OrderFlowers 机器人。控制台将显示 OrderFlowers 目的。确保目的版本设置为
$LATEST
,因为这是我们可以修改的唯一版本。 -
添加 Lambda 函数作为履行代码挂钩并对其进行测试。
-
在编辑器中,为履行选择 AWS Lambda 函数,然后选择上一步骤中创建的 Lambda 函数 (
OrderFlowersCodeHook
)。选择确定以授予 Amazon Lex 调用 Lambda 函数的权限。您正在配置此 Lambda 函数作为代码挂钩以履行意图。Amazon Lex 仅在具有用户提供的用于履行意图的所有必需的插槽数据后,才会调用此函数。
-
指定 Goodbye message。
-
选择 Build。
-
使用之前的对话测试此自动程序。
最后一个语句“谢谢,您订购的玫瑰.....”是配置为代码挂钩的 Lambda 函数的响应。在上一节,没有 Lambda 函数。现在,使用 Lambda 函数实际履行
OrderFlowers
意图。 -
-
添加 Lambda 函数作为初始化和验证代码挂钩,然后进行测试。
您使用的示例 Lambda 函数代码可同时执行用户输入验证和履行。Lambda 函数接收的输入事件有一个字段 (
invocationSource
),代码使用该字段来确定要执行的代码的部分。有关更多信息,请参阅Lambda 函数输入事件和响应格式。-
选择
OrderFlowers
目的的 $LATEST 版本。这是您可更新的唯一版本。 -
在编辑器中,选择 Options 中的 Initialization and validation。
-
同样,选择同一 Lambda 函数。
-
选择 Build。
-
测试自动程序。
您现在已准备与 Amazon Lex 进行对话,如下图所示。要测试验证部分,请选择下午 6 点这个时间,然后您的 Lambda 函数会返回一个响应(“我们的营业时间是上午 10 点到下午 5 点。”),并再次向您发出提示。在您提供所有有效的插槽数据后,Lambda 函数会履行此订单。
-