

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

# 使用控制台将AWS Lambda函数附加到 Amazon Lex V2 机器人
<a name="lambda-attach-console"></a>

您必须先将 Lambda 函数附加到您的 Amazon Lex V2 机器人别名中，然后才能调用该函数。每个机器人别名只能关联一个 Lambda 函数。使用 AWS 管理控制台执行这些步骤以关联 Lambda 函数。

1. 登录 AWS 管理控制台并通过以下网址打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 从左侧面板中选择**机器人**，然后从机器人列表中选择要关联 Lambda 函数的机器人的名称。

1. 在左侧面板中，从**部署**菜单下选择**别名**。

1. 从别名列表中，选择要向其关联 Lambda 函数的别名。

1. 在**语言**面板中，选择您希望 Lambda 函数使用的语言。如果面板中不存在某种语言，请选择**管理别名中的语言**以添加该语言。

1. 在**源**下拉菜单中，选择要关联的 Lambda 函数的名称。

1. 在 **Lambda 函数版本或别名**下拉菜单中，选择要使用的 Lambda 函数的版本或别名。然后选择**保存**。在机器人支持的语言中，所有意图都使用相同的 Lambda 函数。

**将 Amazon Lex V2 意图设置为使用控制台调用 Lambda 函数**

1. 选择机器人后，在要调用 Lambda 函数的机器人的语言下方的左侧菜单中选择**意图**。

1. 选择要在其中调用 Lambda 函数的意图以打开意图编辑器。

1. 设置 Lambda 代码挂钩有两个选项：

   1. 要在对话的每一步之后调用 Lambda 函数，请滚动到意图编辑器底部的**代码挂钩**部分，然后选中**使用 Lambda 函数进行初始化和验证**复选框，如下图所示：  
![\[Amazon Lex V2 意图编辑器的代码挂钩部分。\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/lambda/lambda-code-hooks-all.png)

   1. 或者，在对话阶段使用**对话框代码挂钩**部分来调用 Lambda 函数。**对话框代码挂钩**部分如下所示：  
![\[Amazon Lex V2 意图编辑器的代码挂钩部分。\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/lambda/lambda-code-hook-step.png)

      可通过两种方法控制 Amazon Lex V2 如何调用代码挂钩以获取响应：
      + 切换**活动**按钮以将其标记为*活动*或*非活动*状态。当代码挂钩处于*活动*状态时，Amazon Lex V2 将调用该代码挂钩。当代码挂钩处于*非活动*状态时，Amazon Lex V2 不会运行代码挂钩。
      + 展开 **Lambda 对话框代码挂钩**部分，然后选中**调用 Lambda 函数**复选框将其标记为*已启用*或*已禁用*。只有在代码挂钩标记为活动状态时，才能启用或禁用该挂钩。当标记为*已启用*时，代码挂钩正常运行。当标记为*已禁用*时，不会调用代码挂钩，Amazon Lex V2 则表现为代码挂钩已成功返回。要配置对话框代码挂钩成功、失败或超时后的响应，请选择**高级选项**。

      可以在以下对话阶段调用 Lambda 代码挂钩：
      + 要调用该函数作为**初始响应**，请滚动到**初始响应**部分，点击**响应以确认用户的请求**旁边的箭头展开，然后选择**高级选项**。在弹出的菜单底部找到**对话框代码挂钩**。
      + 要在**槽位引发**后调用该函数，请滚动到**槽位**部分，单击相关**槽位提示**旁边的箭头展开，然后选择**高级选项**。在弹出的菜单底部附近找到**对话框代码挂钩**，位于**默认值**正上方。

        您也可以在每次引发后调用该函数。为此，请展开**槽位提示**部分的**机器人引发信息**，选择**更多提示选项**，然后选择**每次引发后调用 Lambda 代码挂钩**对应复选框。
      + 要调用**意图确认**函数，请滚动至**确认**部分，点击**确认意图提示**旁边的箭头展开，然后选择**高级选项**。在弹出的菜单底部找到**对话框代码挂钩**。
      + 要调用**意图履行**函数，请滚动至**履行**部分。切换**活动**按钮以将代码挂钩设置为*活动*状态。点击**成功履行时**旁边的箭头展开，然后选择**高级选项**。选中**履行 Lambda 代码挂钩**部分的**使用 Lambda 函数进行履行**旁边的复选框，将代码挂钩设置为*已启用*。

1. 设置调用 Lambda 函数的对话阶段后，请再次**构建**机器人以测试该函数。