

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# 在消息收发平台上部署 Amazon Lex 机器人
<a name="example1"></a>

本节说明如何在 Facebook、Slack 和 Twilio 消息收发平台上部署 Amazon Lex 机器人。

**注意**  
在存储您的 Facebook、Slack 或 Twilio 配置时，Amazon Lex 使用 AWS Key Management Service 客户托管式密钥来加密信息。首次创建通往这些消息收发平台之一的通道时，Amazon Lex 将创建一个默认的客户托管式密钥 (`aws/lex`)。或者，您可以使用创建自己的客户托管密钥 AWS KMS。这可以提高灵活性，包括提供创建、轮换和禁用密钥的能力。您还可以定义访问控制，并审核用于保护数据的加密密钥。有关更多信息，请参见[AWS Key Management Service 开发人员指南](https://docs.aws.amazon.com/kms/latest/developerguide/)。

当消息收发平台向 Amazon Lex 发送请求时，它将包含平台特定信息作为您的 Lambda 函数的请求属性。使用这些属性可自定义您的自动程序的行为方式。有关更多信息，请参阅 [设置请求属性](context-mgmt-request-attribs.md)。

所有属性采用命名空间 `x-amz-lex:` 作为前缀。例如，`user-id` 属性称为 `x-amz-lex:user-id`。除了特定于特殊平台的属性之外，还有所有消息收发平台发送的通用属性。下表列出了消息收发平台发送到您的机器人的 Lambda 函数的请求属性。


**通用请求属性**  

| 属性 | 描述 | 
| --- | --- | 
| channel-id | Amazon Lex 中的通道端点标识符。 | 
| channel-name | Amazon Lex 中的通道名称。 | 
| channel-type |  下列值之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/example1.html)  | 
| webhook-endpoint-url | 通道的 Amazon Lex 端点。 | 


**Facebook 请求属性**  

| 属性 | 描述 | 
| --- | --- | 
| user-id | 发件人的 Facebook 标识符。参见 [https://developers.facebook.com/docs/Messenger platform/webhook-reference/message-已收到](https://developers.facebook.com/docs/messenger-platform/webhook-reference/message-received)。 | 
| facebook-page-id | 收件人的 Facebook 页面标识符。参见 [https://developers.facebook.com/docs/Messenger platform/webhook-reference/message-已收到](https://developers.facebook.com/docs/messenger-platform/webhook-reference/message-received)。 | 


**Kik 请求属性**  

| 属性 | 描述 | 
| --- | --- | 
| kik-chat-id | 您的聊天机器人正在进行的对话的标识符。有关更多信息，请参阅 [https://dev.kik.com/\$1/docs/messaging \$1message-formats](https://dev.kik.com/#/docs/messaging#message-formats)。 | 
| kik-chat-type | 消息源自的对话的类型。有关更多信息，请参阅 [https://dev.kik.com/\$1/docs/messaging \$1message-formats](https://dev.kik.com/#/docs/messaging#message-formats)。 | 
| kik-message-id | 标识消息的 UUID。有关更多信息，请参阅 [https://dev.kik.com/\$1/docs/messaging \$1message-formats](https://dev.kik.com/#/docs/messaging#message-formats)。 | 
| kik-message-type | 消息类型。有关更多信息，请参阅 [https://dev.kik.com/\$1/docs/messaging \$1message-types](https://dev.kik.com/#/docs/messaging#message-types)。 | 


**Twilio 请求属性**  

| 属性 | 描述 | 
| --- | --- | 
| user-id | 发件人 (“From”) 的电话号码。请参阅 [https://www.twilio.com/docs/api/rest/message](https://www.twilio.com/docs/api/rest/message)。 | 
| twilio-target-phone-number | 收件人 (“To”) 的电话号码。请参阅 [https://www.twilio.com/docs/api/rest/message](https://www.twilio.com/docs/api/rest/message)。 | 


**Slack 请求属性**  

| 属性 | 描述 | 
| --- | --- | 
| user-id | Slack 用户标识符。见[https://api.slack.com/types/用户](https://api.slack.com/types/user)。 | 
| slack-team-id | 发送消息的团队的标识符。参见 [https://api.slack.com/methods/team.info。](https://api.slack.com/methods/team.info) | 
| slack-bot-token | 允许机器人访问 Slack APIs 的开发者令牌。参见[https://api.slack.com/docs/代币类型](https://api.slack.com/docs/token-types)。 | 

# 将 Amazon Lex 机器人与 Facebook Messenger 集成
<a name="fb-bot-association"></a>

本练习演示如何将 Facebook Messenger 与您的 Amazon Lex 机器人集成。请执行下列步骤：

1. 创建 Amazon Lex 机器人

1. 创建 Facebook 应用程序

1. 将 Facebook Messenger 与您的 Amazon Lex 机器人集成

1. 验证集成

**Topics**
+ [步骤 1：创建 Amazon Lex 机器人](#fb-bot-assoc-create-bot)
+ [步骤 2：创建 Facebook 应用程序](#fb-bot-assoc-create-fb-app)
+ [步骤 3：将 Facebook Messenger 与 Amazon Lex 机器人集成](#fb-bot-assoc-create-assoc)
+ [步骤 4：测试集成](#fb-bot-test)

## 步骤 1：创建 Amazon Lex 机器人
<a name="fb-bot-assoc-create-bot"></a>

如果您还没有 Amazon Lex 机器人，请创建并部署一个。在本主题中，我们假定您使用的是您在入门练习 1 中创建的自动程序。但是，您可以使用本指南中提供的任何示例自动程序。有关入门练习 1，请参阅 [练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 创建 Amazon Lex 机器人。有关说明，请参阅[练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 部署此自动程序并创建别名。有关说明，请参阅[练习 3：发布版本和创建别名](gettingstarted-ex3.md)。

## 步骤 2：创建 Facebook 应用程序
<a name="fb-bot-assoc-create-fb-app"></a>

在 Facebook 开发人员门户上，创建一个 Facebook 应用程序和一个 Facebook 页面。有关说明，请参阅 Facebook Messenger 平台文档中的[快速入门](https://developers.facebook.com/docs/messenger-platform/guides/quick-start)。记下以下信息：
+ Facebook 应用程序的 **App Secret** 
+ Facebook 页面的 **Page Access Token**

## 步骤 3：将 Facebook Messenger 与 Amazon Lex 机器人集成
<a name="fb-bot-assoc-create-assoc"></a>

在本节中，将 Facebook Messenger 与您的 Amazon Lex 机器人集成。

完成此步骤后，此控制台将提供一个回调 URL。记下此 URL。

**将 Facebook Messenger 与您的自动程序集成**

1. 

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

   1. 选择您的 Amazon Lex 机器人。

   1. 选择 **Channels**。

   1. 在**聊天机器人**下面，选择 **Facebook**。此控制台将显示 Facebook 集成页面。

   1. 在 Facebook 集成页面上，执行以下操作：
      + 键入以下名称：`BotFacebookAssociation`。
      + 对于 **KMS key**，选择 **aws/lex**。
      + 对于 **Alias**，选择自动程序别名。
      + 对于 **Verify token**，键入令牌。这可以是您选择的任何字符串 (例如，`ExampleToken`)。稍后设置 Webhook 时会在 Facebook 开发人员门户中使用此令牌。
      + 对于 **Page access token**，键入在步骤 2 中从 Facebook 获得的令牌。
      + 对于 **App secret key**，键入在步骤 2 中从 Facebook 获得的密钥。  
![\[将您的机器人与 Facebook 集成的形式。\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/fb-10a.png)

   1. 选择**激活**。

      此控制台将创建自动程序通道关联并返回一个回调 URL。记下此 URL。

1. 在 Facebook 开发人员门户上，选择您的应用程序。

1.  选择 **Messenger** 产品，然后在页面的 **Webhooks** 部分选择 **Setup webhooks**。

   有关说明，请参阅 Facebook Messenger 平台文档中的[快速入门](https://developers.facebook.com/docs/messenger-platform/guides/quick-start)。

1. 在订阅向导的 **webhook** 页面上，执行以下操作：
   + 对于**回调 URL**，键入本过程前面部分在 Amazon Lex 控制台中提供的回调 URL。
   + 对于**验证令牌**，键入您在 Amazon Lex 中使用的同一令牌。
   + 选择 **Subscription Fields** (**messages**、**messaging\$1postbacks** 和 **messaging\$1optins**)。
   + 选择 **Verify and Save**。这将在 Facebook 和 Amazon Lex 之间发起握手。

1. 启用 Webhooks 集成。选择您刚刚创建的页面，然后选择 **subscribe**。
**注意**  
如果您更新或重新创建了 webhook，则必须取消订阅，然后重新订阅该页面。

## 步骤 4：测试集成
<a name="fb-bot-test"></a>

您现在可使用 Amazon Lex 机器人从 Facebook Messenger 启动对话。

1. 打开您的 Facebook 页面，然后选择 **Message**。

1. 在 Messenger 窗口中，使用[步骤 1：创建 Amazon Lex 机器人（控制台）](gs-bp-create-bot.md)时提供的相同测试表达。

# 将 Amazon Lex 机器人与 Kik 集成
<a name="kik-bot-association"></a>

本练习提供有关将 Amazon Lex 机器人与 Kik 消息收发应用程序集成的说明。请执行下列步骤：

1. 创建 Amazon Lex 机器人。

1. 使用 Kik 应用程序和网站创建 Kik 自动程序。

1. 使用 Amazon Lex 控制台将您的 Amazon Lex 机器人与 Kik 机器人集成。

1. 使用 Kik 加入与您的 Amazon Lex 机器人的对话，以测试您的 Amazon Lex 机器人与 Kik 之间的关联。

**Topics**
+ [步骤 1：创建 Amazon Lex 机器人](kik-bot-assoc-create-bot.md)
+ [步骤 2：创建 Kik 自动程序](kik-bot-assoc-create-kik-bot.md)
+ [步骤 3：将 Kik 机器人与 Amazon Lex 机器人集成](kik-bot-assoc-create-assoc.md)
+ [步骤 4：测试集成](kik-bot-assoc-test.md)

# 步骤 1：创建 Amazon Lex 机器人
<a name="kik-bot-assoc-create-bot"></a>

如果您还没有 Amazon Lex 机器人，请创建并部署一个。在本主题中，我们假定您使用的是您在入门练习 1 中创建的自动程序。但是，您可以使用本指南中提供的任何示例自动程序。有关入门练习 1，请参阅 [练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)

1. 创建 Amazon Lex 机器人。有关说明，请参阅[练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 部署此自动程序并创建别名。有关说明，请参阅[练习 3：发布版本和创建别名](gettingstarted-ex3.md)。

**下一个步骤**  
[步骤 2：创建 Kik 自动程序](kik-bot-assoc-create-kik-bot.md)

# 步骤 2：创建 Kik 自动程序
<a name="kik-bot-assoc-create-kik-bot"></a>

在此步骤中，您将使用 Kik 用户界面创建 Kik 自动程序。根据在创建此机器人时生成的信息将其连接到您的 Amazon Lex 机器人。

1. 请下载并安装 Kik 应用程序，然后注册一个 Kik 账户 (如果您没有此账户)。如果您有账户，请登录。

1. 打开 Kik 网站，网址为 [https://dev.kik.com/](https://dev.kik.com)。保持浏览器窗口处于打开状态。

1. 在 Kik 应用程序中，选择齿轮图标以打开设置，然后选择 **Your Kik Code**。

1. 扫码 Kik 网站上的 Kik 代码以打开 Botsworth 聊天自动程序。选择 **Yes** 以打开自动程序控制面板。

1. 在 Kik 应用程序中，选择 **Create a Bot**。按照提示操作以创建您的 Kik 自动程序。

1. 创建自动程序后，在您的浏览器中选择 **Configuration**。确保已选中您的新自动程序。

1. 记下自动程序名称和 API 密钥以在下一部分中使用。

**下一个步骤**  
[步骤 3：将 Kik 机器人与 Amazon Lex 机器人集成](kik-bot-assoc-create-assoc.md)

# 步骤 3：将 Kik 机器人与 Amazon Lex 机器人集成
<a name="kik-bot-assoc-create-assoc"></a>

现在您已经创建了一个 Amazon Lex 机器人和一个 Kik 机器人，可以使用 Amazon Lex 在这两个机器人之间创建通道关联。激活关联后，Amazon Lex 将自动使用 Kik 设置回调 URL。

1. 登录 AWS 管理控制台，然后在上打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 选择您在步骤 1 中创建的 Amazon Lex 机器人。

1. 选择 **Channels** 选项卡。

1. 在 **Channels** 部分中，选择 **Kik**。

1. 在 Kik 页面上，提供以下值：
   + 键入名称。例如 `BotKikIntegration`。
   + 键入描述。
   + 从 **KMS key** 下拉列表中选择“aws/lex”。
   + 对于 **Alias**，从下拉菜单中选择别名。
   + 对于 **Kik bot user name**，键入您在 Kik 上为自动程序提供的名称。
   + 对于 **Kik API key**，键入在 Kik 上分配给自动程序的 API 密钥。
   + 对于 **User greeting**，键入您希望您的自动程序在用户第一次与之聊天时发送的问候语。
   + 对于 **Error message**，输入不理解部分对话时显示给用户的错误消息。
   + 对于 **Group chat behavior**，选择以下选项之一：
     + **Enable** – 在单次对话中使整个聊天组都能与您的自动程序交互。
     + **Disable** – 将对话限制为聊天组中的一位用户。

      
   + 选择 **Activate** 以创建关联并将它链接到 Kik 自动程序。  
![\[Kik 配置屏幕。\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/kik-10.png)

**下一个步骤**  
[步骤 4：测试集成](kik-bot-assoc-test.md)

# 步骤 4：测试集成
<a name="kik-bot-assoc-test"></a>

现在您已在 Amazon Lex 机器人和 Kik 之间创建关联，可使用 Kik 应用程序测试此关联。

1. 启动 Kik 应用程序并登录。选择您创建的自动程序。

1. 您可使用以下内容测试自动程序：  
![\[1. "I would like to pick up flowers; 2. roses; 3. tomorrow; 4. 6:00 p.m.; 5. yes.\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/kik-20.png)

   在您输入每个短语时，您的 Amazon Lex 机器人将使用您为每个插槽创建的提示通过 Kik 响应。

# 将 Amazon Lex 机器人与 Slack 集成
<a name="slack-bot-association"></a>

本练习提供有关将 Amazon Lex 机器人与 Slack 消息收发应用程序集成的说明。请执行下列步骤：

1. 创建 Amazon Lex 机器人。

1. 创建 Slack 消息收发应用程序。

1. 将 Slack 应用程序与您的 Amazon Lex 机器人集成。

1. 通过与您的 Amazon Lex 机器人进行对话来测试集成。您将使用 Slack 应用程序发送消息，并在浏览器窗口中进行测试。

**Topics**
+ [步骤 1：创建 Amazon Lex 机器人](slack-bot-assoc-create-bot.md)
+ [步骤 2：注册 Slack 并创建 Slack 团队](slack-bot-assoc-create-team.md)
+ [步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)
+ [步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成](slack-bot-assoc-create-assoc.md)
+ [步骤 5：完成 Slack 集成](slack-bot-back-in-slack-console.md)
+ [步骤 6：测试集成](slack-bot-test.md)

# 步骤 1：创建 Amazon Lex 机器人
<a name="slack-bot-assoc-create-bot"></a>

如果您还没有 Amazon Lex 机器人，请创建并部署一个。在本主题中，我们假定您使用的是您在入门练习 1 中创建的自动程序。但是，您可以使用本指南中提供的任何示例自动程序。有关入门练习 1，请参阅 [练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)

1. 创建 Amazon Lex 机器人。有关说明，请参阅[练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 部署此自动程序并创建别名。有关说明，请参阅[练习 3：发布版本和创建别名](gettingstarted-ex3.md)。

**下一个步骤**  
[步骤 2：注册 Slack 并创建 Slack 团队](slack-bot-assoc-create-team.md)

# 步骤 2：注册 Slack 并创建 Slack 团队
<a name="slack-bot-assoc-create-team"></a>

注册 Slack 账户并创建 Slack 团队。有关说明，请参阅[使用 Slack](https://get.slack.help/hc/en-us/articles/212675257-Creating-a-Slack-account)。在下一部分中，您将创建一个 Slack 应用程序，所有 Slack 团队都可以安装该应用程序。

**下一个步骤**  
[步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)

# 步骤 3：创建 Slack 应用程序
<a name="slack-bot-assoc-create-app"></a>

请在此部分中执行以下操作：

1. 在 Slack API 控制台上创建 Slack 应用程序 

1. 配置该应用程序，以将交互式消息收发功能添加到自动程序中：

在本部分结束时，您将获得应用程序凭证 (客户端 ID、客户端密钥和验证令牌)。在下一节中，您将使用这些信息在 Amazon Lex 控制台中配置机器人通道关联。

1. 通过以下网址登录 Slack API 控制台：[http://api.slack.com](http://api.slack.com)。

1. 创建应用程序。

   在您成功创建应用程序以后，Slack 会显示应用程序的 **Basic Information** 页面。

1. 按如下所示配置应用程序的功能：

   1. 在左侧菜单中，选择**互动性和快捷方式**。
     + 选择打开交互式组件的开关。
     + 在 **Request URL** 框中，指定任何有效的 URL。例如，您可以使用 **https://slack.com**。
**注意**  
目前，请输入任何有效的 URL，以便获得在下一步中需要的验证令牌。您在 Amazon Lex 控制台中添加机器人通道关联后，将需要更新此 URL。
     + 选择**保存更改**。

1. 在左侧菜单的 **Settings** 中，选择 **Basic Information**。记录以下应用程序凭证：
   + 客户端 ID 
   + 客户端密钥
   + 验证令牌 

**下一个步骤**  
[步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成](slack-bot-assoc-create-assoc.md)

# 步骤 4：将 Slack 应用程序与 Amazon Lex 机器人集成
<a name="slack-bot-assoc-create-assoc"></a>

现在，您已经有了 Slack 应用程序凭证，可以将该应用程序与您的 Amazon Lex 机器人集成了。要将 Slack 应用程序与您的机器人关联，需要在 Amazon Lex 中添加机器人通道关联。

在 Amazon Lex 控制台中，激活一个机器人通道关联，以将机器人与您的 Slack 应用程序关联。激活机器人频道关联后，Amazon Lex 会返回两个 URLs（**回发网址和网OAuth****址**）。把它们录下来， URLs 因为你以后需要它们。

**将 Slack 应用程序与您的 Amazon Lex 机器人集成**

1. 登录 AWS 管理控制台，然后在上打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 选择您在步骤 1 中创建的 Amazon Lex 机器人。

1. 选择 **Channels** 选项卡。

1. 在左侧菜单中，选择 **Slack**。

1. 在 **Slack** 页面上，提供以下值：
   + 键入名称。例如 `BotSlackIntegration`。
   + 从 **KMS key** 下拉列表中选择“aws/lex”。
   + 对于 **Alias**，选择自动程序别名。
   + 键入您在前面的步骤中记录的 **Client Id**、**Client secret** 和 **Verification Token**。这些是 Slack 应用程序的凭证。  
![\[Slack 配置屏幕。\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/slack-10a.png)

1. 选择**激活**。

   控制台创建机器人频道关联并返回两个 URLs （回发网址和网 OAuth 址）。记录这些 URL。在下一部分中，您将更新您的 Slack 应用程序配置以使用这些终端节点，如下所示：
   + Postback URL 是侦听 Slack 事件的 Amazon Lex 机器人端点。您可以使用此 URL：
     + 作为 Slack 应用程序的 **Event Subscriptions** 功能中的请求 URL。
     + 在 Slack 应用程序的 **Interactive Messages** 功能中替换请求 URL 的占位符值。
   +  OAuth 网址是你的 Amazon Lex 机器人与 Slack OAuth 握手的终端节点。

**下一个步骤**  
[步骤 5：完成 Slack 集成](slack-bot-back-in-slack-console.md)

# 步骤 5：完成 Slack 集成
<a name="slack-bot-back-in-slack-console"></a>

在本部分中，您将使用 Slack API 控制台完成 Slack 应用程序的集成。

1. 通过以下网址登录 Slack API 控制台：[http://api.slack.com](http://api.slack.com)。选择您在[步骤 3：创建 Slack 应用程序](slack-bot-assoc-create-app.md)中创建的应用程序。

1. 按如下方式更新 **“OAuth 和权限”** 功能：

   1. 在左侧菜单中，选择**OAuth 和权限**。

   1. 在**重定向 URLs**部分中，添加 Amazon Lex 在上一步中提供的 OAuth 网址。选择 “**添加新的重定向 URL**”，然后选择 “**保存**” URLs。

   1. 在 **Bot Token Scopes** 部分中，使用**添加 OAuth 作用域**按钮添加两个权限。用以下文本筛选列表：
      + **chat:write**
      + **team:read**

1. 通过将**请求 URL** 值更新为 Amazon Lex 在上一步中提供的 Postback URL 来更新**互动性和快捷方式**功能。输入您在步骤 4 中保存的 Postback URL，然后选择 **Save Changes (保存更改)**。

1. 按如下所述订阅 **Event Subscriptions** 功能：
   + 通过选择 **On** 选项启用事件。
   + 将**请求 URL** 值设置为 Amazon Lex 在上一步中提供的 Postback URL。
   + 在 **Subscribe to Bot Events** 部分中，订阅 `message.im` 自动程序事件以在最终用户和 Slack 自动程序之间启用直接消息收发。
   + 保存更改。

1. 启用从消息选项卡发送消息，如下所示：
   + 从左侧菜单中，选择**应用程序主页**。
   + 在**显示选项卡**部分，选择**允许用户从消息选项卡中发送 Slash 命令和消息**。



**下一个步骤**  
[步骤 6：测试集成](slack-bot-test.md)

# 步骤 6：测试集成
<a name="slack-bot-test"></a>

现在，使用浏览器窗口来测试 Slack 与 Amazon Lex 机器人的集成。

1. 在**设置**下，选择**管理分发**。选择 **Add to Slack** 以安装应用程序。授权自动程序对消息做出响应。

1. 您将被重定向到 Slack 团队。在左侧菜单的 **Direct Messages** 部分中，选择您的自动程序。如果看不到您的自动程序，请选择 **Direct Messages** 旁边的加号图标（\$1）进行搜索。

1. 使用您的 Slack 应用程序进行聊天，该应用程序链接到了 Amazon Lex 机器人。现在，您的自动程序会响应消息。

   如果您是使用入门练习 1 创建的自动程序，可以使用该练习中提供的示例对话。有关更多信息，请参阅 [步骤 4：将 Lambda 函数添加为代码挂钩（控制台）](gs-bp-create-integrate.md)。

# 将 Amazon Lex 机器人与 Twilio 可编程 SMS 集成
<a name="twilio-bot-association"></a>

本练习提供将 Amazon Lex 机器人与 Twilio Simple Messaging Service (SMS) 集成的说明。请执行下列步骤：

1. 创建 Amazon Lex 机器人

1. 将 Twilio 可编程 SMS 与您的机器人 Amazon Lex 集成

1. 在您的手机上使用 SMS 服务来测试设置，从而实现与 Amazon Lex 机器人的交互

1. 测试集成 

**Topics**
+ [步骤 1：创建 Amazon Lex 机器人](#twilio-bot-assoc-create-bot)
+ [步骤 2：创建 Twilio SMS 账户](#twilio-bot-assoc-create-fb-app)
+ [步骤 3：将 Twilio 消息收发服务端点与 Amazon Lex 机器人集成](#twilio-bot-assoc-create-assoc)
+ [步骤 4：测试集成](#twilio-bot-test)

## 步骤 1：创建 Amazon Lex 机器人
<a name="twilio-bot-assoc-create-bot"></a>

如果您还没有 Amazon Lex 机器人，请创建并部署一个。在本主题中，我们假定您使用的是您在入门练习 1 中创建的自动程序。但是，您可以使用本指南中提供的任何示例自动程序。有关入门练习 1，请参阅 [练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 创建 Amazon Lex 机器人。有关说明，请参阅[练习 1：使用蓝图创建 Amazon Lex 机器人（控制台）](gs-bp.md)。

1. 部署此自动程序并创建别名。有关说明，请参阅[练习 3：发布版本和创建别名](gettingstarted-ex3.md)。

## 步骤 2：创建 Twilio SMS 账户
<a name="twilio-bot-assoc-create-fb-app"></a>

注册 Twilio 账户，并记录以下账户信息：
+ **ACCOUNT SID** 
+ **AUTH TOKEN** 

有关注册说明，请参阅 [https://www.twilio.com/](https://www.twilio.com/console)console。

## 步骤 3：将 Twilio 消息收发服务端点与 Amazon Lex 机器人集成
<a name="twilio-bot-assoc-create-assoc"></a>

**将 Twilio 与 Amazon Lex 机器人集成**

1. 要将 Amazon Lex 机器人与您的 Twilio 可编程 SMS 端点关联，请在 Amazon Lex 控制台中激活机器人通道关联。机器人通道关联激活后，Amazon Lex 会返回回调 URL。请记录此回调 URL，因为您稍后需要用到它。

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

   1. 选择您在步骤 1 中创建的 Amazon Lex 机器人。

   1. 选择 **Channels** 选项卡。

   1. 在 **Chatbots** 部分，选择 **Twilio SMS**。

   1. 在 **Twilio SMS** 页面上，提供以下信息：
      + 键入名称。例如 `BotTwilioAssociation`。
      + 从 **KMS key** 中选择“aws/lex”。
      + 对于 **Alias**，选择自动程序别名。
      + 对于 **Authentication Token**，键入您的 Twilio 账户的 AUTH TOKEN。
      + 对于 **Account SID**，键入您的 Twilio 账户的 ACCOUNT SID。  
![\[Twilio 配置屏幕。\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/twilio-10a.png)

   1. 选择**激活**。

      此控制台将创建自动程序通道关联并返回一个回调 URL。记录此 URL。

1. 在 Twilio 控制台中，将 Twilio SMS 端点连接到 Amazon Lex 机器人。

   1. 通过 [https://www.twilio.com/](https://www.twilio.com/console)console 登录 Twilio 主机。

   1. 如果您没有 Twilio SMS 终端节点，请进行创建。

   1. 通过将**请求 URL** 值设置为 Amazon Lex 在上一步中提供的回调 URL，更新消息收发服务的**入站设置**配置。

   

## 步骤 4：测试集成
<a name="twilio-bot-test"></a>

使用您的手机来测试 Twilio SMS 与您的自动程序之间的集成。

**测试集成**

1. 通过 [https://www.twilio.com/console 登录 Twilio 主机](https://www.twilio.com/console)并执行以下操作：

   1. 在 **Manage Numbers** 下验证您拥有与消息收发服务相关联的 Twilio 号码。

      从您的手机向此号码发送消息，并参加与 Amazon Lex 机器人的 SMS 交互。

   1. 验证您的手机是否列出为**经过验证的呼叫者 ID**。

      如果不是，请按照 Twilio 控制台中的说明启用您计划用于测试的手机。

      现在，您可以使用您的手机向映射到 Amazon Lex 机器人的 Twilio SMS 端点发送消息。

1. 使用您的手机向 Twilio 号码发送消息。

   Amazon Lex 机器人做出了响应。如果您是使用入门练习 1 创建的自动程序，可以使用该练习中提供的示例对话。有关更多信息，请参阅 [步骤 4：将 Lambda 函数添加为代码挂钩（控制台）](gs-bp-create-integrate.md)。