Mengatur Atribut Sesi - Amazon Lex V1

Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.

 

Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.

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

Mengatur Atribut Sesi

Atribut sesi berisi informasi khusus aplikasi yang diteruskan antara bot dan aplikasi klien selama sesi berlangsung. Amazon Lex meneruskan atribut sesi ke semua fungsi Lambda yang dikonfigurasi untuk bot. Jika fungsi Lambda menambahkan atau memperbarui atribut sesi, Amazon Lex meneruskan informasi baru kembali ke aplikasi klien. Misalnya:

Gunakan atribut sesi dalam fungsi Lambda Anda untuk menginisialisasi bot dan menyesuaikan prompt dan kartu respons. Misalnya:

  • Inisialisasi - Dalam bot pemesanan pizza, aplikasi klien melewati lokasi pengguna sebagai atribut sesi dalam panggilan pertama kePostText operasiPostContent atau. Sebagai contoh, "Location": "111 Maple Street". Fungsi Lambda menggunakan informasi ini untuk menemukan restoran pizza terdekat untuk melakukan pemesanan.

  • Personalize prompt - Konfigurasikan prompt dan kartu respons untuk merujuk ke atribut sesi. Misalnya, “Hei [FirstName], topping apa yang Anda inginkan?” Jika Anda meneruskan nama depan pengguna sebagai atribut sesi ({"FirstName": "Jo"}), Amazon Lex mengganti nama untuk placeholder. Kemudian mengirimkan prompt pribadi untuk pengguna, “Hei Jo, yang topping akan Anda inginkan?”

Atribut sesi bertahan selama sesi berlangsung. Amazon Lex menyimpannya di penyimpanan data terenkripsi hingga sesi berakhir. Klien dapat membuat atribut sesi dalam permintaan dengan memanggil baikPostContent atauPostText operasi dengansessionAttributes bidang diatur ke nilai. Fungsi Lambda dapat membuat atribut sesi dalam respons. Setelah klien atau fungsi Lambda membuat atribut sesi, nilai atribut yang disimpan digunakan kapan saja aplikasi klien tidak menyertakansessionAttribute bidang dalam permintaan ke Amazon Lex.

Misalnya, anggap Anda memiliki dua atribut sesi,{"x": "1", "y": "2"}. Jika klien memanggilPostContent atauPostText operasi tanpa menentukansessionAttributes bidang, Amazon Lex memanggil fungsi Lambda dengan atribut sesi yang disimpan ({"x": 1, "y": 2}). Jika fungsi Lambda tidak mengembalikan atribut sesi, Amazon Lex mengembalikan atribut sesi yang disimpan ke aplikasi klien.

Jika aplikasi klien atau fungsi Lambda melewati atribut sesi, Amazon Lex memperbarui atribut sesi yang disimpan. Melewati nilai yang ada, seperti {"x": 2}, memperbarui nilai yang disimpan. Jika Anda melewati serangkaian atribut sesi baru, seperti{"z": 3}, nilai yang ada akan dihapus dan hanya nilai baru yang disimpan. Ketika peta kosong,{}, dilewatkan, nilai yang disimpan dihapus.

Untuk mengirim atribut sesi ke Amazon Lex, Anda membuat string-to-string peta atribut. Berikut ini menunjukkan cara memetakan atribut sesi:

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

UntukPostText operasi, Anda memasukkan peta ke dalam badan permintaan menggunakansessionAttributes bidang, sebagai berikut:

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

UntukPostContent operasi, Anda base64 menyandikan peta, dan kemudian mengirimkannya sebagaix-amz-lex-session-attributes header.

Jika Anda mengirim data biner atau terstruktur dalam atribut sesi, Anda harus terlebih dahulu mengubah data ke string sederhana. Untuk informasi selengkapnya, lihat Mengatur Atribut Kompleks Kompleks.