Membuat dan melampirkan fungsi Lambda ke alias bot - Amazon Lex

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

Membuat dan melampirkan fungsi Lambda ke alias bot

Membuat fungsi Lambda

Untuk membuat fungsi Lambda untuk bot Amazon Lex V2 Anda, akses AWS Lambda dari Anda AWS Management Console dan buat fungsi baru. Anda dapat merujuk ke panduan AWS Lambda pengembang untuk detail selengkapnyaAWS Lambda.

  1. Masuk ke AWS Management Console dan buka konsol AWS Lambda di https://console.aws.amazon.com/lambda/.

  2. Pilih Fungsi di sidebar kiri.

  3. Pilih Buat fungsi.

  4. Anda dapat memilih Author dari awal untuk memulai dengan kode minimal, Gunakan cetak biru untuk memilih kode sampel untuk kasus penggunaan umum dari daftar, atau Gambar kontainer untuk memilih gambar kontainer yang akan digunakan untuk fungsi Anda. Jika Anda memilih Penulis dari awal, lanjutkan dengan langkah-langkah berikut:

    1. Berikan fungsi Anda nama Fungsi yang bermakna untuk menggambarkan apa yang dilakukannya.

    2. Pilih bahasa dari menu tarik-turun di bawah Runtime untuk menulis fungsi Anda.

    3. Pilih set instruksi Arsitektur untuk fungsi Anda.

    4. Secara default, Lambda membuat peran dengan izin dasar. Untuk menggunakan peran yang ada atau membuat peran menggunakan templat AWS kebijakan, perluas menu Ubah peran eksekusi default dan pilih opsi.

    5. Perluas menu Pengaturan lanjutan untuk mengonfigurasi lebih banyak opsi.

  5. Pilih Buat fungsi.

Gambar berikut menunjukkan apa yang Anda lihat ketika Anda membuat fungsi baru dari awal:

Fungsi Lambda baru.

Fungsi handler Lambda berbeda tergantung pada bahasa yang Anda gunakan. Minimal mengambil objek event JSON sebagai argumen. Anda dapat melihat bidang di tempat Amazon Lex V2 menyediakan diMenafsirkan format peristiwa masukan. event Ubah fungsi handler untuk akhirnya mengembalikan objek response JSON yang cocok dengan format yang dijelaskan dalam. Mempersiapkan format respons

Setelah Anda selesai menulis fungsi Anda, pilih Deploy untuk mengizinkan fungsi yang akan digunakan.

Ingatlah bahwa Anda dapat mengaitkan setiap alias bot dengan paling banyak satu fungsi Lambda. Namun, Anda dapat menentukan fungsi sebanyak yang Anda butuhkan untuk bot Anda dalam kode Lambda dan memanggil fungsi-fungsi ini dalam fungsi penangan Lambda. Misalnya, sementara semua intent dalam alias bot yang sama harus memanggil fungsi Lambda yang sama, Anda dapat membuat fungsi router yang mengaktifkan fungsi terpisah untuk setiap maksud. Berikut ini adalah contoh fungsi router yang dapat Anda gunakan atau modifikasi untuk aplikasi Anda:

import os import json import boto3 # reuse client connection as global client = boto3.client('lambda') def router(event): intent_name = event['sessionState']['intent']['name'] fn_name = os.environ.get(intent_name) print(f"Intent: {intent_name} -> Lambda: {fn_name}") if (fn_name): # invoke lambda and return result invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event)) print(invoke_response) payload = json.load(invoke_response['Payload']) return payload raise Exception('No environment variable for intent: ' + intent_name) def lambda_handler(event, context): print(event) response = router(event) return response

Menambahkan dan menjalankan fungsi Lambda

Untuk memanggil fungsi Lambda di bot Amazon Lex V2 Anda, Anda harus terlebih dahulu melampirkan fungsi ke alias bot dan kemudian mengatur poin dalam percakapan di mana bot memanggil fungsi tersebut. Anda dapat melakukan langkah-langkah ini dengan operasi konsol atau API.

Anda dapat menggunakan fungsi Lambda pada titik-titik berikut dalam percakapan dengan pengguna:

  • Dalam respons awal setelah maksud dikenali. Misalnya, setelah pengguna mengatakan mereka ingin memesan pizza.

  • Setelah memunculkan nilai slot dari pengguna. Misalnya, setelah pengguna memberi tahu bot ukuran pizza yang ingin mereka pesan.

  • Antara setiap percobaan lagi untuk mendapatkan slot. Misalnya, jika pelanggan tidak menggunakan ukuran pizza yang diakui.

  • Saat mengkonfirmasikan niat. Misalnya, saat mengonfirmasi pesanan pizza.

  • Untuk memenuhi niat. Misalnya, untuk memesan pizza.

  • Setelah pemenuhan niat, dan sebelum bot Anda menutup percakapan. Misalnya, untuk beralih ke niat memesan minuman.