Menginvokasi fungsi Lambda - Amazon Connect

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

Menginvokasi fungsi Lambda

Langkah 1: Membuat fungsi Lambda

Selama eksekusi kampanye, kampanye keluar akan memanggil fungsi Lambda Anda dengan sekumpulan profil dan mengharapkan respons yang berisi hasil untuk masing-masing.

Minta Muatan

Ketika fungsi Lambda Anda dipanggil, ia akan menerima muatan JSON dengan struktur berikut:

Struktur Muatan

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }

Deskripsi Bidang

InvocationMetadata
  • CampaignContext: Berisi metadata tentang eksekusi kampanye

  • CampaignId: Pengenal unik untuk kampanye

  • RunId: Pengenal unik untuk menjalankan kampanye khusus ini

  • ActionId: Pengidentifikasi aksi aliran yang dijalankan oleh kampanye keluar

  • CampaignName: Nama kampanye yang dapat dibaca manusia

Item
  • CustomerProfiles: Array profil pelanggan untuk diproses (batch untuk efisiensi)

  • ProfileId: Pengidentifikasi unik untuk profil pelanggan

  • CustomerData: JSON string dari profil pelanggan

  • IdempotencyToken: Token unik untuk pemanggilan khusus ini untuk memastikan pemrosesan idempoten

Contoh Permintaan Muatan

{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "campaign-12345", "RunId": "run-67890", "ActionId": "activity-abc123", "CampaignName": "Welcome Campaign" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "customer-001", "CustomerData": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john.doe@example.com\"}", "IdempotencyToken": "token-xyz789" }, { "ProfileId": "customer-002", "CustomerData": "{\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"email\":\"jane.smith@example.com\"}", "IdempotencyToken": "token-abc456" } ] } }

Muatan Respon yang Diharapkan

Fungsi Lambda Anda harus mengembalikan respons JSON dengan struktur berikut:

Struktur Respon

{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }

Deskripsi Bidang

Item
  • CustomerProfiles: Array hasil yang sesuai dengan setiap profil pelanggan dalam permintaan

  • Id: Harus cocok dengan permintaan ProfileId

  • ResultData: Objek JSON kustom yang berisi hasil pemrosesan Anda (opsional)

Contoh Respon Payload

{ "Items": { "CustomerProfiles": [ { "Id": "customer-001", "ResultData": { "recommendedProduct": "Premium Plan", "score": 85, "nextAction": "send_email" } }, { "Id": "customer-002", "ResultData": { "error": "Invalid customer data", "errorCode": "VALIDATION_ERROR" } } ] } }

Batasan Penting

Batas Ukuran Muatan

  • Ukuran Payload Respon Maksimum: 32 KB per profil pelanggan

  • Jika Anda ResultData melebihi batas ini, pemanggilan akan ditandai sebagai tidak valid

Persyaratan Respons

  • Anda harus memberikan tanggapan untuk setiap yang ProfileId termasuk dalam permintaan

  • Tanggapan yang hilang akan diperlakukan sebagai kesalahan

  • IdBidang dalam respons harus sama persis dengan ProfileId dari permintaan

Penanganan Kesalahan

  • Jika fungsi Lambda Anda melempar pengecualian, semua profil dalam batch akan ditandai sebagai gagal

  • Sertakan detail kesalahan ResultData untuk tujuan debugging

Jenis Doa

  • Jenis Doa: REQUEST_RESPONSE (sinkron)

  • Fungsi Anda harus mengembalikan hasil dalam 30 detik daripada memproses secara asinkron. Respons yang memakan waktu lebih dari 30 detik akan mengakibatkan kegagalan tindakan

Langkah 2: Berikan akses Kampanye Keluar ke fungsi Lambda Anda

  1. Buka konsol Amazon Connect di https://console.aws.amazon.com/connect/.

  2. Pada halaman instance, pilih nama instance Anda di kolom Alias Instance. Nama instance ini muncul di URL yang Anda gunakan untuk mengakses Amazon Connect.

  3. Di panel navigasi di bawah Saluran dan komunikasi, pilih Kampanye keluar.

  4. Di bawah bagian Mengatur tindakan kustom, gunakan kotak drop-down fungsi Lambda untuk memilih fungsi yang akan ditambahkan ke instance kampanye keluar Anda.

  5. Pilih Tambahkan Fungsi Lambda. Konfirmasikan bahwa ARN fungsi ditambahkan di bawah Fungsi Lambda.

Langkah 3: Memanggil Lambda dari Kampanye

  1. Buka atau buat alur Perjalanan.

  2. Tambahkan blok tindakan kustom (dalam grup Integrate) ke grid. Hubungkan cabang ke dan dari blok.

  3. Pilih judul blok tindakan kustom untuk membuka halaman propertinya.

  4. Di bawah Fungsi ARN, pilih dari daftar fungsi yang telah ditambahkan ke instance kampanye keluar.

Langkah 4: Konsumsi respons fungsi Lambda

Akses variabel secara langsung

Untuk mengakses variabel-variabel ini secara langsung di blok aliran, tambahkan blok setelah blok tindakan kustom, lalu rujuk atribut seperti yang ditunjukkan pada contoh berikut:

RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score

Pastikan bahwa nama yang ditentukan untuk atribut sumber cocok dengan nama kunci yang ResultData dikembalikan dari Lambda.