Sebuah ApsaraMQ for Kafka trigger mengintegrasikan ApsaraMQ for Kafka sebagai sumber event dengan Function Compute menggunakan EventBridge. Setelah pemicu dibuat, Anda dapat melihat informasi terkait di konsol Function Compute dan konsol EventBridge. Ketika pesan masuk ke antrian, EventBridge mendorong satu atau lebih event pesan ke fungsi secara batch sesuai konfigurasi batch Anda.
Batasan
Instansi ApsaraMQ for Kafka yang digunakan sebagai sumber pemicu harus berada di wilayah yang sama dengan fungsi di Function Compute.
Jika jumlah aliran event mencapai batas atas, Anda tidak dapat membuat pemicu ApsaraMQ for Kafka lagi. Untuk informasi tentang batas atas aliran event, lihat Batasan.
Sebelum memulai
EventBridge
Function Compute
ApsaraMQ for Kafka
Langkah 1: Buat pemicu ApsaraMQ for Kafka
Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.
- Pada halaman Functions, klik fungsi yang ingin Anda kelola.
- Pada halaman detail fungsi, klik tab Triggers, pilih versi atau alias dari daftar drop-down Version or Alias, lalu klik Create Trigger.
Di panel Buat Pemicu, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter tersebut.
Tabel berikut menjelaskan parameter dasar.
Parameter
Deskripsi
Contoh
Trigger Type
Pilih ApsaraMQ for Kafka.
ApsaraMQ for Kafka
Name
Masukkan nama pemicu.
kafka-trigger
Version or Alias
Versi atau alias pemicu. Nilai default: LATEST. Jika Anda ingin membuat pemicu untuk versi atau alias lain, pilih versi atau alias di sudut kanan atas halaman detail fungsi. Untuk informasi lebih lanjut tentang versi dan alias, lihat Kelola versi dan Kelola alias.
TERBARU
ApsaraMQ for Kafka Instance
Instansi ApsaraMQ for Kafka ke mana Anda ingin merutekan pesan.
alikafka_pre-cn-i7m2t7t1****
Topic
Pilih topik yang Anda buat di instansi ApsaraMQ for Kafka.
topic1
Group ID
Pilih grup yang Anda buat di instansi ApsaraMQ for Kafka.
CatatanGunakan ID grup unik untuk membuat pemicu. Jangan gunakan ID grup dari layanan yang sudah ada. Jika tidak, penerimaan dan pengiriman pesan yang sudah ada akan terpengaruh.
GID_group1
Concurrent Consumption Tasks
Tentukan jumlah konsumen bersamaan. Nilai valid: 1 hingga jumlah partisi dalam sebuah topik.
2
Consumer Offset
Pilih offset dari mana ApsaraMQ for Kafka mulai menarik pesan dari EventBridge.
Nilai valid:
Earliest Offset: menarik pesan dari offset paling awal.
Latest Offset: menarik pesan dari offset terbaru.
Offset Terbaru
Invocation method
Pilih metode pemanggilan fungsi.
Nilai valid:
Sync Invocation: Metode ini cocok untuk pemanggilan berurutan. Saat sebuah event atau sekelompok event memicu fungsi, Function Compute menjalankan fungsi dan menunggu respons sebelum fungsi memproses event atau sekelompok event berikutnya. Payload maksimum permintaan pemanggilan sinkron adalah 32 MB. Untuk informasi lebih lanjut, lihat Pemanggilan Sinkron.
Async Invocation: Metode ini memungkinkan Anda untuk cepat mengonsumsi event. Saat sebuah event atau sekelompok event memicu fungsi, Function Compute segera mengembalikan respons dan melanjutkan pemrosesan event atau sekelompok event berikutnya. Selama proses ini, fungsi dieksekusi dalam mode asinkron. Payload maksimum permintaan pemanggilan asinkron adalah 128 KB. Untuk informasi lebih lanjut, lihat Ikhtisar.
Pemanggilan Sinkron
Max. Delivery Concurrency
Tentukan jumlah maksimum pesan ApsaraMQ for Kafka yang dapat dikirimkan secara bersamaan ke Function Compute. Nilai valid: 1 hingga 300. Parameter ini tersedia hanya jika Anda mengatur parameter Metode Pemanggilan ke Sync Invocation. Jika Anda memerlukan konkurensi yang lebih tinggi, kunjungi Pusat Kuota EventBridge, temukan kuota dengan nama EventStreaming FC Sink Maximum Concurrent Number of Synchronous Posting, lalu klik Ajukan di kolom Tindakan untuk meminta peningkatan kuota.
1
Trigger State
Tentukan apakah akan mengaktifkan pemicu segera setelah dibuat. Secara default, Enable Trigger dipilih, yang menunjukkan bahwa pemicu diaktifkan segera setelah dibuat.
N/A
Untuk informasi tentang konfigurasi lanjutan seperti pengaturan push, kebijakan ulang, dan antrian pesan gagal, lihat Fitur lanjutan pemicu.
Setelah pemicu dibuat, pemicu ditampilkan di tab Triggers. Untuk memodifikasi atau menghapus pemicu yang ada, lihat Kelola pemicu.
Langkah 2: Konfigurasikan parameter input fungsi
Sumber event ApsaraMQ for Kafka diteruskan ke fungsi sebagai parameter input dalam bentuk event. Anda dapat secara manual meneruskan event ke fungsi untuk mensimulasikan pemicuan event.
- Di halaman detail fungsi, klik tab Code dan klik ikon
. Dari daftar drop-down yang muncul, pilih Configure Test Parameters. Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, dan tentukan nama event serta isi event. Lalu, klik OK.
Kode contoh
event:[ { "specversion":"1.0", "id":"8e215af8-ca18-4249-8645-f96c1026****", "source":"acs:alikafka", "type":"alikafka:Topic:Message", "subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic", "datacontenttype":"application/json; charset=utf-8", "time":"2022-06-23T02:49:51.589Z", "aliyunaccountid":"164901546557****", "data":{ "topic":"****", "partition":7, "offset":25, "timestamp":1655952591589, "headers":{ "headers":[ ], "isReadOnly":false }, "key":"keytest", "value":"hello kafka msg" } }, { "specversion":"1.0", "id":"8e215af8-ca18-4249-8645-f96c1026****", "source":"acs:alikafka", "type":"alikafka:Topic:Message", "subject":"acs:alikafka_pre-cn-i7m2t7t1****:topic:mytopic", "datacontenttype":"application/json; charset=utf-8", "time":"2022-06-23T02:49:51.589Z", "aliyunaccountid":"164901546557****", "data":{ "topic":"****", "partition":7, "offset":25, "timestamp":1655952591589, "headers":{ "headers":[ ], "isReadOnly":false }, "key":"keytest", "value":"hello kafka msg" } } ]Untuk informasi tentang parameter yang didefinisikan dalam spesifikasi CloudEvents, lihat Ikhtisar.
Tabel berikut menjelaskan parameter yang terkandung dalam data.
Parameter
Tipe
Contoh
Detail
topic
String
TopicName
Nama topik.
partition
Int
1
Informasi tentang partisi di instansi ApsaraMQ for Kafka.
offset
Int
0
Offset pesan instansi ApsaraMQ for Kafka.
timestamp
String
1655952591589
Timestamp yang menunjukkan kapan konsumsi pesan dimulai.
Langkah 3: Tulis kode fungsi dan uji fungsi
Setelah pemicu dibuat, Anda dapat menulis kode fungsi dan menguji fungsi untuk memverifikasi apakah kode tersebut benar. Saat sebuah event terjadi di ApsaraMQ for Kafka, fungsi secara otomatis dipanggil oleh pemicu.
Di halaman Detail Fungsi, klik tab Code, masukkan kode fungsi di editor kode, lalu klik Deploy.
Kode contoh berikut memberikan contoh cara menulis kode fungsi dalam Node.js:
'use strict'; /* Untuk mengaktifkan fitur inisialisasi silakan implementasikan fungsi inisialisasi sebagai berikut: exports.initializer = (context, callback) => { console.log('initializing'); callback(null, ''); }; */ exports.handler = (event, context, callback) => { console.log("event: %s", event); // Parsing parameter event dan proses event. callback(null, 'return result'); }- Klik tab Code dan klik Test Function.Setelah fungsi dieksekusi, Anda dapat melihat hasilnya di tab Kode.