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.
Establecer atributos complejos en tu bot Lex V2
Los atributos de sesión y solicitud son string-to-string mapas de atributos y valores. En muchos casos, puede utilizar la asignación de cadenas para transferir valores de atributos entre la aplicación cliente y un bot. En algunos casos, sin embargo, es posible que necesite transferir datos binarios o una estructura compleja que no se puede convertir fácilmente a una asignación de cadenas. Por ejemplo, el siguiente JSON objeto representa una matriz de las tres ciudades más pobladas de los Estados Unidos:
{
"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"
}
}
]
}
Esta matriz de datos no se traduce bien en un string-to-string mapa. En tal caso, puedes transformar un objeto en una cadena simple para enviarla a tu bot con las RecognizeUtteranceoperaciones RecognizeTexty.
Por ejemplo, si estás usando JavaScript, puedes usar la JSON.stringify
operación para convertir un objeto en un objeto y la JSON.parse
operación para convertir JSON texto en un JavaScript objeto: JSON
// To convert an object to a string. var jsonString = JSON.stringify(
object
, null, 2); // To convert a string to an object. varobj
= JSON.parse(JSON string
);
Para enviar atributos con la RecognizeUtterance
operación, debe codificar los atributos en base64 antes de añadirlos al encabezado de la solicitud, como se muestra en el código siguiente: JavaScript
var
encodedAttributes
= new Buffer(attributeString
).toString("base64");
Puede enviar datos binarios a las operaciones RecognizeText
y RecognizeUtterance
convirtiendo primero los datos a una cadena codificada en base64 y, a continuación, enviar la cadena como el valor en los atributos de sesión:
"sessionAttributes" : {
"binaryData": "base64 encoded data
"
}