选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

在 Lex V2 机器人中设置复杂属性

聚焦模式
在 Lex V2 机器人中设置复杂属性 - Amazon Lex

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

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

会话和请求属性是属性和值的 string-to-string映射。在许多情况下,您可以使用字符串映射在客户端应用程序与自动程序之间传输属性值。但在某些情况下,您可能需要传输无法轻易转换为字符串映射的二进制数据或复杂结构。例如,以下 JSON 对象表示由美国人口最多的三个城市组成的数组:

{ "cities": [ { "city": { "name": "New York", "state": "New York", "pop": "8537673" } }, { "city": { "name": "Los Angeles", "state": "California", "pop": "3976322" } }, { "city": { "name": "Chicago", "state": "Illinois", "pop": "2704958" } } ] }

这个数据数组不能很好地转换为 string-to-string地图。在这种情况下,您可以将对象转换为一个简单字符串,以便通过 RecognizeTextRecognizeUtterance 操作将其发送给自动程序。

例如,如果您正在使用 JavaScript,则可以使用JSON.stringify操作将对象转换为 JSON,使用JSON.parse操作将 JSON 文本转换为 JavaScript 对象:

// To convert an object to a string. var jsonString = JSON.stringify(object, null, 2); // To convert a string to an object. var obj = JSON.parse(JSON string);

要通过RecognizeUtterance操作发送属性,在将属性添加到请求标头之前,必须对属性进行 base64 编码,如以下 JavaScript代码所示:

var encodedAttributes = new Buffer(attributeString).toString("base64");

您可以通过先将二进制数据转换为 base64 编码字符串、然后将该字符串作为会话属性中的值发送,来向 RecognizeTextRecognizeUtterance 操作发送二进制数据:

"sessionAttributes" : { "binaryData": "base64 encoded data" }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。