Cómo establecer atributos de sesión para su bot Lex V2 - Amazon Lex

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo establecer atributos de sesión para su bot Lex V2

Los atributos de sesión contienen información específica de la aplicación que se transfiere entre un bot y una aplicación cliente durante una sesión. Amazon Lex V2 pasa los atributos de sesión a todas las funciones de Lambda para un bot. Si una función de Lambda añade o actualiza los atributos de sesión, Amazon Lex devuelve la nueva información a la aplicación cliente.

Utilice los atributos de sesión en sus funciones de Lambda para inicializar un bot y personalizar las preguntas y las tarjetas de respuesta. Por ejemplo:

Los atributos de sesión persisten durante toda la sesión. Amazon Lex los almacena en un almacén de datos cifrados hasta que finaliza la sesión. El cliente puede crear atributos de sesión en una solicitud llamando a la operación RecognizeText o RecognizeUtterance con el campo sessionAttributes definido en un valor. Una función de Lambda puede crear un atributo de sesión en una respuesta. Una vez que el cliente o una función de Lambda ha creado un atributo de sesión, el valor de atributo almacenado se utiliza siempre que la aplicación cliente no incluya el campo sessionAttribute en una solicitud a Amazon Lex.

Por ejemplo, supongamos que tiene dos atributos de sesión, {"x": "1", "y": "2"}. Si el cliente llama a la operación RecognizeText o RecognizeUtterance sin especificar el campo sessionAttributes, Amazon Lex llama a la función de Lambda con los atributos de sesión almacenados ({"x": 1, "y": 2}). Si la función de Lambda no devuelve atributos de sesión, Amazon Lex devuelve los atributos de sesión almacenados a la aplicación cliente.

Si la aplicación cliente o una función de Lambda pasan atributos de sesión, Amazon Lex actualiza los atributos de sesión almacenados. Al pasar un valor existente, como por ejemplo {"x": 2}, se actualiza el valor almacenado. Si pasa un nuevo conjunto de atributos de sesión, por ejemplo {"z": 3}, los valores existentes se eliminan y solo se mantiene el nuevo valor. Cuando se pasa una asignación vacía, {}, los valores almacenados se borran.

Para enviar atributos de sesión a Amazon Lex, cree una asignación de cadena a cadena de los atributos. A continuación, se muestra cómo asignar atributos de sesión:

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

Para la operación RecognizeText, debe insertar la asignación en el cuerpo de la solicitud utilizando el campo sessionAttributes de la estructura sessionState, de la siguiente manera:

"sessionState": { "sessionAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" } }

Para la operación RecognizeUtterance, hay que codificar en base64 la asignación y luego enviarla como parte del encabezado de x-amz-lex-session-state.

Si va a enviar datos binarios o estructurados en un atributo de la sesión, primero debe transformar los datos en una cadena sencilla. Para obtener más información, consulte Cómo establecer atributos complejos en su bot Lex V2.