全部产品
Search
文档中心

Function Compute:Pemicu ApsaraMQ untuk Kafka

更新时间:Jul 02, 2025

Setelah ApsaraMQ for Kafka diintegrasikan dengan Function Compute menggunakan EventBridge, pemicu ApsaraMQ for Kafka dapat digunakan untuk memanggil fungsi guna memproses pesan yang diterbitkan ke ApsaraMQ for Kafka sesuai dengan kebutuhan bisnis Anda. Topik ini menjelaskan cara membuat pemicu ApsaraMQ for Kafka, mengonfigurasi parameter input fungsi, serta menulis dan menguji kode fungsi di konsol Function Compute.

Ikhtisar

Setelah Anda mengirim permintaan untuk membuat pemicu di konsol Function Compute, Function Compute secara otomatis membuat aliran peristiwa di EventBridge berdasarkan konfigurasi pemicu tersebut.

Setelah pemicu dibuat, Anda dapat melihat informasi tentang pemicu tersebut di konsol Function Compute. Anda juga dapat melihat informasi tentang sumber daya yang telah dibuat di konsol EventBridge. Ketika pesan dimasukkan ke dalam antrian di ApsaraMQ for Kafka, fungsi terkait di Function Compute dipanggil. Satu atau lebih peristiwa pesan dikirim ke fungsi dalam batch untuk diproses berdasarkan konfigurasi batch Anda.

Catatan penggunaan

  • Instansi ApsaraMQ for Kafka yang berfungsi sebagai sumber pemicu harus berada di wilayah yang sama dengan fungsi yang akan dipanggil di Function Compute.

  • Jika jumlah aliran peristiwa yang dibuat mencapai batas maksimum, tidak ada lagi pemicu ApsaraMQ for Kafka yang dapat dibuat. Untuk informasi tentang batas maksimum aliran peristiwa, lihat Batasan.

Sebelum Anda mulai

Langkah 1: Buat pemicu ApsaraMQ untuk Kafka

Setelah Anda membuat instansi ApsaraMQ for Kafka, masuk ke konsol Function Compute, klik fungsi yang diinginkan untuk masuk ke halaman detail fungsi, klik tab Configurations, lalu klik Create Trigger di halaman Pemicu. Setelah Anda membuat pemicu, klik OK. Gambar berikut menunjukkan detailnya.

image

Tabel berikut menjelaskan parameter dasar.

Parameter

Deskripsi

Contoh

Consumer Offset

Tentukan offset konsumen dari pesan. Offset konsumen menentukan titik dari mana ApsaraMQ for Kafka mulai menarik pesan dari EventBridge.

Opsi:

  • Earliest Offset

  • Latest Offset

Offset Awal

Invocation Method

Pilih metode pemanggilan fungsi.

Opsi:

  • Sync Invocation: Mode ini cocok untuk pemanggilan berurutan. Saat suatu peristiwa atau sekelompok peristiwa memanggil fungsi, Function Compute mengeksekusi fungsi dan menunggu respons sebelum memproses peristiwa atau kelompok peristiwa berikutnya. Batas atas payload untuk permintaan pemanggilan sinkron adalah 32 MB. Untuk informasi lebih lanjut, lihat Pemanggilan Sinkron.

  • Async Invocation: Mode ini memungkinkan Anda untuk dengan cepat mengonsumsi peristiwa. Saat suatu peristiwa atau sekelompok peristiwa memanggil fungsi, Function Compute segera mengembalikan respons dan terus memproses peristiwa atau kelompok peristiwa berikutnya. Selama proses ini, fungsi dieksekusi dalam mode asinkron. Batas atas payload untuk permintaan pemanggilan asinkron adalah 128 KB. Untuk informasi lebih lanjut, lihat Pemanggilan Asinkron.

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, buka 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

Untuk informasi tentang konfigurasi lanjutan, seperti pengaturan push, kebijakan ulang, dan antrian pesan gagal, lihat Fitur Lanjutan Pemicu.

Langkah 2: (Opsional) Konfigurasikan parameter input

Sumber peristiwa ApsaraMQ for Kafka dilewatkan ke fungsi dalam bentuk event sebagai parameter input. Anda dapat menggunakan kode untuk mengurai dan memproses peristiwa. Anda dapat secara manual melewatkan event ke fungsi untuk mensimulasikan peristiwa pemicu.

  1. Di tab Code pada halaman detail fungsi, klik ikon image.png di sebelah Test Function dan pilih Configure Test Parameters dari daftar drop-down.

  2. Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, masukkan nama peristiwa dan isi peristiwa, lalu klik OK.

    Kode contoh berikut memberikan 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

    Rincian

    topic

    String

    NamaTopik

    Nama topik.

    partition

    Int

    1

    Informasi partisi pada 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 dan uji kode fungsi

Setelah pemicu Anda dibuat, Anda dapat menulis kode fungsi dan menguji fungsi untuk memverifikasi apakah kode tersebut benar. Dalam skenario penggunaan aktual, pemicu secara otomatis memanggil fungsi ketika peristiwa ApsaraMQ for Kafka terjadi.

  1. Di tab Code pada halaman detail fungsi, tulis kode di editor kode dan klik Deploy.

    Dalam contoh ini, kode fungsi ditulis dalam Node.js.

    'use strict';
    /*
    Untuk mengaktifkan fitur inisialisasi
    silakan implementasikan fungsi inisialisasi sebagai berikut:
    exports.initializer = (context, callback) => {
      console.log('menginisialisasi');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // Parse parameter peristiwa dan proses peristiwa. 
      callback(null, 'hasil pengembalian');
    }
  2. Uji fungsi.

    Metode 1: Jika Anda mengonfigurasi event untuk mensimulasikan sumber peristiwa, klik Test Function.

    Metode 2: Masuk ke konsol ApsaraMQ for Kafka, pilih topik yang Anda buat, dan klik Kirim Pesan. Gambar berikut menunjukkan contohnya.

    image

  3. Setelah eksekusi selesai, lihat hasilnya di Log Waktu Nyata.

    image

Referensi

Untuk memodifikasi atau menghapus pemicu yang ada, lihat Kelola Pemicu.