Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Lambda dengan Apache Kafka yang dikelola sendiri
Lambda mendukung Apache Kafka
Anda dapat menggunakan layanan Kafka AWS terkelola Amazon Managed Streaming for Apache Kafka (MSKAmazon), atau cluster Kafka yang dikelola sendiri. Untuk detail tentang menggunakan Lambda dengan AmazonMSK, lihat. Menggunakan Lambda dengan Amazon MSK
Topik ini menjelaskan cara menggunakan Lambda dengan klaster Kafka yang dikelola sendiri. Dalam AWS terminologi, cluster yang dikelola sendiri mencakup cluster Kafka yang tidak AWS dihosting. Misalnya, Anda dapat meng-host cluster Kafka Anda dengan penyedia cloud seperti Confluent
Apache Kafka sebagai sumber acara beroperasi mirip dengan menggunakan Amazon Simple Queue Service (AmazonSQS) atau Amazon Kinesis. Lambda melakukan polling secara internal untuk pesan baru dari sumber peristiwa, lalu memanggil fungsi Lambda target secara sinkron. Lambda membaca pesan dalam batch dan menyediakan ini untuk fungsi Anda sebagai muatan acara. Ukuran batch maksimum dapat dikonfigurasi. (Default adalah 100 pesan.)
Awas
Pemetaan sumber peristiwa Lambda memproses setiap peristiwa setidaknya sekali, dan pemrosesan duplikat catatan dapat terjadi. Untuk menghindari potensi masalah yang terkait dengan duplikat peristiwa, kami sangat menyarankan agar Anda membuat kode fungsi Anda idempoten. Untuk mempelajari lebih lanjut, lihat Bagaimana cara membuat fungsi Lambda saya idempoten
Untuk sumber peristiwa berbasis Kafka, Lambda mendukung parameter kontrol pemrosesan, seperti jendela batching dan ukuran batch. Untuk informasi selengkapnya, lihat Perilaku batching.
Untuk contoh cara menggunakan Kafka yang dikelola sendiri sebagai sumber acara, lihat Menggunakan Apache Kafka yang dihosting sendiri sebagai sumber acara
Topik
- Contoh peristiwa
- Mengkonfigurasi sumber acara Apache Kafka yang dikelola sendiri untuk Lambda
- Memproses pesan Apache Kafka yang dikelola sendiri dengan Lambda
- Menggunakan pemfilteran acara dengan sumber acara Apache Kafka yang dikelola sendiri
- Menangkap batch yang dibuang untuk sumber acara Apache Kafka yang dikelola sendiri
- Memecahkan masalah kesalahan pemetaan sumber acara Apache Kafka yang dikelola sendiri
Contoh peristiwa
Lambda mengirimkan batch pesan dalam parameter peristiwa ketika memanggil fungsi Lambda Anda. Muatan peristiwa berisi array pesan. Setiap item array berisi detail dari topik Kafka dan pengidentifikasi Kafka partisi, bersama-sama dengan stempel waktu dan pesan berkode base64.
{ "eventSource": "SelfManagedKafka", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }