Pemberitahuan akhir dukungan: Pada 15 September 2025, AWS akan menghentikan dukungan untuk Amazon Lex V1. Setelah 15 September 2025, Anda tidak lagi dapat mengakses konsol Amazon Lex V1 atau sumber daya Amazon Lex V1. Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Latihan 3: Tambahkan Fungsi Lambda ()AWS CLI
Tambahkan fungsi Lambda yang memvalidasi input pengguna dan memenuhi maksud pengguna ke bot.
Menambahkan ekspresi Lambda adalah proses lima langkah.
-
Gunakan AddPermissionfungsi Lambda untuk mengaktifkan
OrderFlowersintent untuk memanggil operasi Lambda Invoke. -
Gunakan GetIntent operasi untuk mendapatkan maksud dari Amazon Lex.
-
Perbarui maksud untuk menambahkan fungsi Lambda.
-
Gunakan PutIntent operasi untuk mengirim intent yang diperbarui kembali ke Amazon Lex.
-
Gunakan GetBot dan PutBot operasi untuk membangun kembali bot apa pun yang menggunakan intent.
Untuk menjalankan perintah dalam latihan ini, Anda perlu mengetahui wilayah di mana perintah akan dijalankan. Untuk daftar wilayah, lihat Kuota Bangunan Model .
Jika Anda menambahkan fungsi Lambda ke intent sebelum menambahkan InvokeFunction izin, Anda mendapatkan pesan galat berikut:
An error occurred (BadRequestException) when calling the
PutIntent operation: Lex is unable to access the Lambda
function Lambda function ARN in the context of intent
intent ARN. Please check the resource-based policy on
the function.
Respons dari GetIntent operasi berisi bidang yang disebut checksum yang mengidentifikasi revisi spesifik dari maksud. Saat Anda menggunakan PutIntent operasi untuk memperbarui maksud, Anda harus memberikan nilai checksum. Jika tidak, Anda mendapatkan pesan galat berikut:
An error occurred (PreconditionFailedException) when calling
the PutIntent operation: Intent intent name already exists.
If you are trying to update intent name you must specify the
checksum.
Latihan ini menggunakan fungsi Lambda dari. Latihan 1: Membuat Bot Amazon Lex Menggunakan Blueprint (Konsol) Untuk instruksi untuk membuat fungsi Lambda, lihat. Langkah 3: Buat Fungsi Lambda (Konsol)
catatan
AWS CLI Contoh berikut diformat untuk Unix, Linux, dan macOS. Untuk Windows, ubah "\$LATEST" ke$LATEST.
Untuk menambahkan fungsi Lambda ke intent
-
Di AWS CLI, tambahkan
InvokeFunctionizin untukOrderFlowersmaksud:aws lambda add-permission \ --regionregion\ --function-name OrderFlowersCodeHook \ --statement-id LexGettingStarted-OrderFlowersBot \ --action lambda:InvokeFunction \ --principal lex.amazonaws.com \ --source-arn "arn:aws:lex:region:account ID:intent:OrderFlowers:*" --source-accountaccount IDLambda mengirimkan tanggapan berikut:
{ "Statement": "{\"Sid\":\"LexGettingStarted-OrderFlowersBot\", \"Resource\":\"arn:aws:lambda:
region:account ID:function:OrderFlowersCodeHook\", \"Effect\":\"Allow\", \"Principal\":{\"Service\":\"lex.amazonaws.com\"}, \"Action\":[\"lambda:InvokeFunction\"], \"Condition\":{\"StringEquals\": {\"AWS:SourceAccount\": \"account ID\"}, {\"AWS:SourceArn\": \"arn:aws:lex:region:account ID:intent:OrderFlowers:*\"}}}" } -
Dapatkan niat dari Amazon Lex. Amazon Lex mengirimkan output ke file bernama
OrderFlowers-V3.json.aws lex-models get-intent \ --regionregion\ --name OrderFlowers \ --intent-version "\$LATEST" > OrderFlowers-V3.json -
Dalam editor teks, buka file
OrderFlowers-V3.json.-
Temukan dan hapus
createdDate,lastUpdatedDate, danversionbidang. -
Perbarui
fulfillmentActivitybidang:"fulfillmentActivity": { "type": "CodeHook", "codeHook": { "uri": "arn:aws:lambda:region:account ID:function:OrderFlowersCodeHook", "messageVersion": "1.0" } } -
Simpan file tersebut.
-
-
Di AWS CLI, kirim maksud yang diperbarui ke Amazon Lex:
aws lex-models put-intent \ --regionregion\ --name OrderFlowers \ --cli-input-json file://OrderFlowers-V3.json
Sekarang setelah Anda memperbarui intent, bangun kembali bot.
Untuk membangun kembali bot OrderFlowersBot
-
Di AWS CLI, dapatkan definisi
OrderFlowersBotbot dan simpan ke file:aws lex-models get-bot \ --regionregion\ --name OrderFlowersBot \ --version-or-alias "\$LATEST" > OrderFlowersBot-V3.json -
Dalam editor teks, buka
OrderFlowersBot-V3.json. HapuscreatedDate,lastUpdatedDate,status, danversionbidang. -
Di editor teks, tambahkan baris berikut ke definisi bot:
"processBehavior": "BUILD", -
Di AWS CLI, buat revisi baru bot:
aws lex-models put-bot \ --regionregion\ --name OrderFlowersBot \ --cli-input-json file://OrderFlowersBot-V3.jsonTanggapan dari server adalah:
Langkah Selanjutnya
Latihan 4: Publikasikan Versi (AWS CLI)