

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

# 在对话期间设定值
<a name="paths-setting-values"></a>

Amazon Lex V2 提供了在对话的每个步骤中设置槽位值和会话属性值的功能。然后，您可以在对话期间使用这些值来评估条件，或者在履行意图期间使用这些值。

您可以为当前意图设置槽位值。如果对话的下一步是调用另一个意图，则可以设置新意图的槽位值。

如果被分配的槽位未填，或者无法解析 JSON 路径，则该属性将设置为 `null`。

使用槽位值和会话属性时，请使用以下句法：
+ **槽位值**：用大括号（“{}”）将槽位名称括起来。对于当前意图中的槽位值，您只需要使用槽位名称即可。例如 `{slot}`。如果要在下一个意图中设置值，则必须同时使用意图名称和槽位名称来标识该槽位。例如 `{intent.slot}`。

  示例：
  +  `{PhoneNumber} = "1234567890"` 
  +  `{CheckBalance.AccountNumber} = "99999999"` 
  +  `{BookingID} = "ABC123"` 
  +  `{FirstName} = "John"` 

  槽位的值可能为以下任一值：
  + 常量字符串
  + 引用 Amazon Lex 响应中的转录块的 JSON 路径（适用于 en-US 和 en-GB）
  + 会话属性

  示例：
  +  `{username} = "john.doe" ` 
  +  `{username_confidence} = $.transcriptions[0].transcriptionConfidence ` 
  +  `{username_slot_value} = [username] ` 
**注意**  
槽位值也可以设置为 `null`。如果您需要重新引发某个已填槽位值，则必须先将该值设置为 `null`，然后再提示客户输入槽位值。如果被分配的槽位未填，或者无法解析 JSON 路径，则该属性将设置为 `null`。
+ **会话属性**：用方括号（“[]”）将属性名称括起来。例如 `[sessionAttribute]`。

  示例：
  +  ` [username] = "john.doe" ` 
  +  ` [username_confidence] = $.transcriptions[0].transcriptionConfidence ` 
  +  ` [username_slot_value] = {username} ` 

  会话属性的值可能为以下任一值：
  + 常量字符串
  + 引用 Amazon Lex 响应中的转录块的 JSON 路径（适用于 en-US 和 en-GB）
  + 槽位值参考
**注意**  
如果被分配的槽位未填，或者无法解析 JSON 路径，则该属性将设置为 `null`。

**注意**  
Amazon Lex V2 于 2022 年 8 月 17 日发布了对用户对话管理方式的更改。借助此更改，您可以更好地控制用户的对话路径。有关更多信息，请参阅 [Amazon Lex V2 中的对话流更改](understanding-new-flows.md)。2022 年 8 月 17 日之前创建的机器人不支持对话框代码挂钩消息、设置值、配置后续步骤和添加条件。