Menggunakan Lambda dengan Amazon MSK - AWS Lambda

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

Menggunakan Lambda dengan Amazon MSK

Amazon Managed Streaming for Apache Kafka (MSKAmazon) adalah layanan terkelola penuh yang yang dapat Anda gunakan untuk membangun dan menjalankan aplikasi yang menggunakan Apache Kafka untuk memproses data streaming. Amazon MSK menyederhanakan penyiapan, penskalaan, dan manajemen klaster yang menjalankan Kafka. Amazon MSK juga mempermudah konfigurasi aplikasi Anda untuk beberapa Availabilting Zone dan untuk keamanan dengan AWS Identity and Access Management (IAM). Amazon MSK mendukung beberapa versi sumber terbuka dari Kafka.

Amazon MSK sebagai sumber peristiwa beroperasi sama 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 (defaultnya adalah 100 pesan). Untuk informasi selengkapnya, lihat Perilaku batching.

Secara default, Lambda menskalakan otomatis jumlah poller peristiwa untuk pemetaan sumber peristiwa Amazon Anda. MSK Untuk mengoptimalkan throughput pemetaan sumber MSK peristiwa Amazon Anda, konfigurasikan mode yang disediakan. Dalam mode yang disediakan, Anda dapat menentukan jumlah minimum dan maksimum poller peristiwa yang dialokasikan untuk pemetaan sumber acara Anda. Ini dapat meningkatkan kemampuan pemetaan sumber acara Anda untuk menangani lonjakan pesan yang tidak terduga. Untuk informasi selengkapnya, lihat mode yang disediakan.

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 di Pusat Pengetahuan. AWS

Untuk contoh cara mengonfigurasi Amazon MSK sebagai sumber peristiwa, lihat Menggunakan Amazon MSK sebagai sumber peristiwa untuk AWS Lambda pada Blog AWS Compute. Untuk tutorial selengkapnya, lihat Integrasi Amazon MSK Lambda di Amazon MSK Labs.

Contoh peristiwa

Lambda mengirimkan batch pesan dalam parameter peristiwa ketika memanggil fungsi Anda. Muatan peristiwa berisi array pesan. Setiap item array berisi detail dari MSK topik Amazon dan pengidentifikasi partisi, bersama-sama dengan stempel waktu dan pesan berkode base64.

{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "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 ] } ] } ] } }