

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

# 使用 Amazon Lex 和属性值
<a name="attribs-cust-input-lex-bot"></a>

在**获取客户输入**数据块中引用属性并选择 Amazon Lex 作为收集输入的方法时，将从客户与 Amazon Lex 自动程序交互的输出中检索并存储属性值。可以使用 Amazon Lex 自动程序中所用的每个意图或槽的属性以及与该自动程序关联的会话属性。针对您包括的每个意图，都会在数据块中添加一个输出分支。当客户在与自动程序交互时选择了一个意图，将在流中遵循与该目关联的分支。

有关您可以使用 Amazon Lex 属性以及从 Lex 自动程序中获取的属性列表，请参阅 [Amazon Lex 联系属性](connect-attrib-list.md#attribs-lex-table)。

# 使用 Amazon Lex 自动程序获取客户输入


1. 打开一个现有流，或创建一个新的流。

1. 在**交互**下，将**获取客户输入**数据块拖至设计器。

1. 选择该数据块的标题以显示数据块设置，然后选择**文字转语音（即席）**。

1. 选择**输入文本**，然后在**输入要说的文本**字段中输入文本，作为传递给客户的信息或问候语。例如，在“感谢来电”之后，请求输入信息以满足您在 Amazon Lex 自动程序中定义的意图。

1. 选择 **Amazon Lex** 选项卡，然后从下拉菜单中选择 Amazon Lex 自动程序以用于获取客户输入。

1. 默认情况下，将用 \$1LATEST 来填充**别名**字段。要使用自动程序的不同别名，请输入要使用的别名值。
**重要**  
在生产环境中，请务必使用与 Amazon Lex 不同的别名，**TestBotAlias**对于 Amazon Lex classic，请务必使用**与 \$1** LATEST 不同的别名。 **TestBotAlias**而且 **\$1LATES** T 支持对 Amazon Lex 机器人进行有限数量的并发调用。有关更多信息，请参阅[运行时限额](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service)或[运行时服务限额 (Amazon Lex Classic)](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime)。

1. （可选）要传递一个属性到 Amazon Lex 以用作会话属性，请选择**添加属性**。指定要使用文本还是属性传递值。

1. 要基于客户意图从数据块创建一个分支，请选择**添加意图**，然后输入和您的自动程序中完全一样的意图名称。

1. 选择**保存**。

# 在 Amazon Lex 中使用备用意图属性
<a name="alternate-intent-attributes"></a>

通常情况下，您可以将流配置为根据匹配的 Lex 意图进行分支。但在某些情况下，您可能希望在备用意图上进行分支。也就是说，客户可能的意图。

下图显示了**检查联系属性**数据块的**属性**页面。它被配置为检查 Lex 属性。

![\[“检查联系属性”数据块的属性页面。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/check-contact-attributes-alternate-intents.png)


1. **意图名称**是 Lex 中备用意图的名称。它区分大小写，必须与 Lex 中的内容完全匹配。

1. **意图属性**是 Amazon Connect 要检查的内容。在此示例中，它将检查**意图置信度分数**。

1. **要检查的条件**：如果 Lex 有 70% 的把握认为客户指的是备用意图而不是匹配意图，那就分支。

# 流数据块如何使用 Amazon Lex 会话属性
<a name="how-to-use-session-attributes"></a>

当用户启动与自动程序的对话时，Amazon Lex 将创建一个*会话*。利用*会话属性*（也称为 *Lex 属性*），您可以在会话期间，在自动程序与 Amazon Connect 之间传递信息。有关您可以使用的 Amazon Lex 属性的列表，请参阅 [Amazon Lex 联系属性](connect-attrib-list.md#attribs-lex-table)。

## 会话属性的生命周期
<a name="session-attribute-lifecycle"></a>

每个对话都包含一组会话属性。在调用 AWS Lambda 函数进行某些处理时，Amazon Lex 会按以下顺序运行属性：
+ 服务默认值：仅在未定义任何属性时才使用这些属性。
+ Amazon Connect 提供的会话属性：这些属性是在 [获取客户输入](get-customer-input.md) 数据块中定义的。
+ Lambda 提供的会话属性会覆盖之前的所有内容：当 AWS Lambda 函数被调用并进行一些处理时，它会覆盖 [获取客户输入](get-customer-input.md) 数据块中设置的任何会话属性。

假设一位客户说他们想要**一辆车**。这是第一个要经过处理的会话属性。当被问及是哪种汽车时，他们说的是**豪华车**。第二句话会覆盖对第一句话进行的任何 Lambda 处理。

有关如何创建处理会话属性的 Lambda 函数的示例，请参阅《Amazon Lex 开发人员指南》**中的[第 1 步：创建 Lambda 函数](https://docs.aws.amazon.com/lex/latest/dg/gs2-prepare.html)。有关 Amazon Lex V2 的信息，请参阅[设置会话属性](https://docs.aws.amazon.com/lexv2/latest/dg/context-mgmt-session-attribs.html)。

有关 Amazon Lex 提供给 Lambda 函数的事件数据结构，请参阅《Amazon Lex 开发人员指南》**中的 [Lambda 函数输入事件和响应格式](https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html)。有关 Amazon Lex V2 的信息，请参阅[解释输入事件格式](https://docs.aws.amazon.com/lexv2/latest/dg/lambda-input-format.html)。

## 支持 Lex 会话属性的流数据块
<a name="blocks-support-lex-session-attributes"></a>

在调用 Lex 自动程序时，您可以在以下流数据块中使用 Lex 会话属性：
+  [更改路由优先级/龄期](change-routing-priority.md) 
+  [检查联系属性](check-contact-attributes.md) 
+  [获取客户输入](get-customer-input.md) 
+  [AWS Lambda 函数](invoke-lambda-function-block.md) 
+  [循环](loop.md) 
+  [设置回拨号码](set-callback-number.md) 
+  [设置联系属性](set-contact-attributes.md) 
+  [设置客户队列流](set-customer-queue-flow.md) 
+  [设置断开连接流](set-disconnect-flow.md) 
+  [设置保持流](set-hold-flow.md) 
+  [设置日志记录行为](set-logging-behavior.md) 
+  [设置私密消息流](set-whisper-flow.md) 
+  [设置工作队列](set-working-queue.md) 
+  [转接流](transfer-to-flow.md) 
+  [转接到电话号码](transfer-to-phone-number.md) 
+  [Wait](wait.md) 

### 更多信息
<a name="more-info-attributes"></a>

有关使用 Amazon Lex 会话属性的更多信息，请参阅《Amazon Amazon Lex V1 开发人员指南》**中的[管理对话上下文](https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html)。

# 如何对语音和聊天使用同一 Amazon Lex 自动程序
<a name="one-bot-voice-chat"></a>

您可以对语音和聊天使用同一自动程序。但是，您可能希望自动程序根据渠道做出不同的响应。例如，您希望为语音返回 SSML，以便将数字作为电话号码读取，但您希望向聊天返回正常文本。您可以通过传递**渠道**属性来实现此目的。

1. 在**获取客户输入**数据块中，选择 **Amazon Lex** 选项卡。

1. 在**会话属性**下，选择**添加一个属性**。在**目标密钥**框中，输入**电话号码**。选择**动态设置**。在**命名空间**框中，选择**系统**，然后在**值**框中选择**客户号码**，如下图所示。  
![\[“获取客户输入”数据块的属性页面，“会话属性”部分。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/session_attributes_customer_number.png)

1. 再次选择**添加一个属性**。

1. 选择**动态设置**。在**目标密钥**框中，输入**呼叫类型**。在**命名空间**框中，选择**系统**，然后在**值**框中选择**渠道**，如下图所示。  
![\[“动态设置”部分。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/session_attributes_call_type_channel.png)

1. 选择**保存**。

1. 在 Lambda 函数中，您可以在传入事件的 `SessionAttributes` 字段中访问此值。