

终止支持通知：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)。

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

# 步骤 2b (可选)：查看所键入信息流的详细信息 (控制台)
<a name="gs-bp-details-part1"></a>

本部分介绍了客户端和 Amazon Lex (客户端在其中使用 `PostText` API 来发送请求) 之间的信息流。有关更多信息，请参阅 [PostText](API_runtime_PostText.md)。

1. 用户类型：我想要订些花

   1. 客户端 (控制台) 将向 Amazon Lex 发送以下 [PostText](API_runtime_PostText.md) 请求：

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "I would like to order some flowers",
          "sessionAttributes": {}
      }
      ```

      请求 URI 和正文都将向 Amazon Lex 提供信息：
      + 请求 URI — 提供机器人名称 (`OrderFlowers`)、机器人别名 (`$LATEST`) 和用户名称（用于标识用户的随机字符串）。后面的 `text` 表示它是一个 `PostText` API 请求 (而不是 `PostContent`)。

         
      + 请求正文 – 包括用户输入 (`inputText`) 和空 `sessionAttributes`。在客户端发出第一个请求时，没有会话属性。稍后，Lambda 函数会启动这些属性。

   1. 在 `inputText` 中，Amazon Lex 可检测意图 (`OrderFlowers`)。此意图没有任何代码挂钩（即 Lambda 函数）用于初始化和验证用户输入或履行。

      Amazon Lex 将选择其中一个意图插槽 (`FlowerType`) 来引发值。此外，它还会选择槽的其中一个值引出提示 (目的配置的所有部分)，然后将以下响应发送回客户端。控制台向用户显示响应中的消息。  
![\[\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/gs-1-details-10.png)

      客户端将显示响应中的消息。

1. 用户类型：玫瑰

   1. 客户端 (控制台) 将向 Amazon Lex 发送以下 [PostText](API_runtime_PostText.md) 请求：

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "roses",
          "sessionAttributes": {}
      }
      ```

      请求正文中的 `inputText` 将提供用户输入。`sessionAttributes` 将保留为空。

   1. Amazon Lex 首先解读当前意图的上下文中的 `inputText`（服务记得它已经向特定用户询问了关于 `FlowerType` 插槽的信息）。Amazon Lex 首先更新当前意图的插槽值，然后选择另一个插槽 (`PickupDate`) 以及该插槽 `` 的其中一个提示消息（“您想在哪天取玫瑰？”）。

      然后，Amazon Lex 将返回以下响应：  
![\[\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/gs-1-details-20.png)

      客户端将显示响应中的消息。

1. 用户类型：明天

   1. 客户端 (控制台) 将向 Amazon Lex 发送以下 [PostText](API_runtime_PostText.md) 请求：

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "tomorrow",
          "sessionAttributes": {}
      }
      ```

      请求正文中的 `inputText` 将提供用户输入。`sessionAttributes` 将保留为空。

   1. Amazon Lex 首先解读当前意图的上下文中的 `inputText`（服务记得它已经向特定用户询问了关于 `PickupDate` 插槽的信息）。Amazon Lex 将更新当前意图的插槽 (`PickupDate`) 值。它将选择另一个槽来引出 (`PickupTime`) 的值。它``向客户端返回其中一个值引发提示（在 2017 年 1 月 5 日的什么时间交付玫瑰？）。

      Amazon Lex 将返回以下响应：  
![\[\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/gs-1-details-30.png)

      客户端将显示响应中的消息。

1. 用户类型：下午 6 点

   1. 客户端 (控制台) 将向 Amazon Lex 发送以下 [PostText](API_runtime_PostText.md) 请求：

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "6 pm",
          "sessionAttributes": {}
      }
      ```

      请求正文中的 `inputText` 将提供用户输入。`sessionAttributes` 将保留为空。

   1. Amazon Lex 首先解读当前意图的上下文中的 `inputText`（服务记得它已经向特定用户询问了关于 `PickupTime` 插槽的信息）。Amazon Lex 将首先更新当前意图的插槽值。现在，Amazon Lex 将检测到它拥有所有插槽的信息。

      `OrderFlowers` 目的配置了确认消息。因此，Amazon Lex 需要先获得用户的显式确认，然后才能继续履行意图。在订花之前，Amazon Lex 将向请求确认的客户端发送以下消息：  
![\[\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/gs-1-details-40.png)

      客户端将显示响应中的消息。

1. 用户类型：是

   1. 客户端 (控制台) 将向 Amazon Lex 发送以下 [PostText](API_runtime_PostText.md) 请求：

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "Yes",
          "sessionAttributes": {}
      }
      ```

      请求正文中的 `inputText` 将提供用户输入。`sessionAttributes` 将保留为空。

   1. Amazon Lex 将解释确认当前意图的上下文中的 `inputText`。它将了解用户希望继续完成订单。`OrderFlowers` 意图配置有 `ReturnIntent` 作为履行活动（没有 Lambda 函数用来履行意图）。因此，Amazon Lex 向客户端返回插槽数据。  
![\[\]](http://docs.aws.amazon.com/zh_cn/lex/latest/dg/images/gs-1-details-50.png)

      Amazon Lex 将 `dialogState` 设置为 `ReadyForFulfillment`。然后，客户端可以完成目的。

1. 现在，再次测试自动程序。为此，您必须在控制台中选择 **Clear** 链接以建立新的 (用户) 上下文。现在，在您提供订花目的的数据时，请尝试提供无效数据。例如：
   + “茉莉花”作为鲜花类型 (它不是一种受支持的鲜花类型)。
   + “昨天”作为您想要取花的日期。

   请注意，机器人之所以接受这些值，是因为您没有任何 initialize/validate 用户数据代码。在下一节中，您将添加 Lambda 函数来完成此操作。请注意有关 Lambda 函数的以下内容：
   + Lambda 函数将在每个用户输入后验证插槽数据。它将在结束时完成目的。即自动程序将处理鲜花订单，然后向用户返回一条消息，而不是只向客户端返回槽数据。有关更多信息，请参阅 [使用 Lambda 函数](using-lambda.md)。
   + Lambda 函数还将设置会话属性。有关会话属性的更多信息，请参阅 [PostText](API_runtime_PostText.md)。

      完成“入门”部分后，您可以做其他练习 ([其他示例：创建 Amazon Lex 机器人](additional-exercises.md))。[预订旅程](ex-book-trip.md) 使用会话属性来共享各个目的的信息，以与用户进行动态对话。

**下一个步骤**  
[步骤 3：创建 Lambda 函数（控制台）](gs-bp-create-lambda-function.md)