为您的 Lex V2 机器人设置请求属性 - Amazon Lex

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

为您的 Lex V2 机器人设置请求属性

请求属性包含请求特定的信息,并仅应用于当前请求。客户端应用程序会将此信息发送给 Amazon Lex。可以使用请求属性传递不需要在整个会话中保留的信息。您可以创建自己的请求属性,也可以使用预定义属性。要发送请求属性,请使用请求中的x-amz-lex-request-attributes标头RecognizeUtteranceRecognizeText请求中的requestAttributes字段。由于请求属性不像会话属性那样在不同请求间保留,因此不会在 RecognizeUtteranceRecognizeText 响应中返回。

注意

要发送在请求间保留的信息,请使用会话属性。

为每个 Lex V2 机器人请求设置用户定义的请求属性

用户定义的请求属性是您在每个请求中发送给自动程序的数据。可在 RecognizeUtterance 请求的 amz-lex-request-attributes 标头或 RecognizeText 请求的 requestAttributes 字段中发送信息。

要向 Amazon Lex 发送请求属性,您需要创建属性 string-to-string 映射。下面显示了如何映射请求属性:

{ "attributeName": "attributeValue", "attributeName": "attributeValue" }

对于 PostText 操作,您可以使用 requestAttributes 字段将映射插入请求正文中,如下所示:

"requestAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" }

对于 PostContent 操作,您对映射进行 base64 编码,然后将其作为 x-amz-lex-request-attributes 标头发送。

如果您要在请求属性中发送二进制或结构化数据,必须先将该数据转换为简单字符串。有关更多信息,请参阅 在 Lex V2 机器人中设置复杂属性