menetapkan atribut - Amazon Lex

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

menetapkan atribut

Sesi dan permintaan atribut adalah string-to-string peta atribut dan nilai-nilai. Dalam banyak kasus, Anda dapat menggunakan peta string untuk mentransfer nilai atribut antara aplikasi klien Anda dan bot. Namun, dalam beberapa kasus, Anda mungkin perlu mentransfer data biner atau struktur kompleks yang tidak dapat dengan mudah dikonversi ke peta string. Misalnya, objek JSON berikut mewakili array dari tiga kota terpadat di Amerika Serikat:

{ "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" } } ] }

Array data ini tidak diterjemahkan dengan baik ke string-to-string peta. Dalam kasus seperti itu, Anda dapat mengubah objek menjadi string sederhana sehingga Anda dapat mengirimkannya ke bot Anda dengan RecognizeTextdan RecognizeUtteranceoperasi.

Misalnya, jika Anda menggunakan JavaScript, Anda dapat menggunakanJSON.stringify operasi untuk mengonversi objek ke JSON, danJSON.parse operasi untuk mengonversi teks JSON ke JavaScript objek:

// 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);

Untuk mengirim atribut denganRecognizeUtterance operasi, Anda harus base64 menyandikan atribut sebelum Anda menambahkannya ke header permintaan, seperti yang ditunjukkan dalam JavaScript kode berikut:

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

Anda dapat mengirim data biner keRecognizeText danRecognizeUtterance operasi dengan terlebih dahulu mengkonversi data ke string base64 dikodekan, dan kemudian mengirim string sebagai nilai dalam atribut sesi:

"sessionAttributes" : { "binaryData": "base64 encoded data" }