全部产品
Search
文档中心

Function Compute:Pemicu ApsaraMQ for Kafka

更新时间:Jul 02, 2025

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

Langkah 1: Buat pemicu ApsaraMQ for Kafka

  1. Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.

  3. Pada halaman Functions, klik fungsi yang ingin Anda kelola.
  4. Pada halaman detail fungsi, klik tab Triggers, pilih versi atau alias dari daftar drop-down Version or Alias, lalu klik Create Trigger.
  5. 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.

    Catatan

    Gunakan 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.

  1. Di halaman detail fungsi, klik tab Code dan klik ikon xialatubiao. Dari daftar drop-down yang muncul, pilih Configure Test Parameters.
  2. 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.

  1. 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');
    }
  2. Klik tab Code dan klik Test Function.
    Setelah fungsi dieksekusi, Anda dapat melihat hasilnya di tab Kode.

FAQ

Mengapa jumlah kali pemicu ApsaraMQ for Kafka memicu fungsi berbeda dari jumlah pesan?

EventBridge mendorong pesan ke fungsi berdasarkan konfigurasi batch Anda. Anda tidak dapat menentukan apakah semua pesan telah dikonsumsi berdasarkan jumlah pemanggilan fungsi. Anda dapat mencetak log di fungsi Anda untuk memeriksa konsumsi pesan. Untuk informasi lebih lanjut tentang konfigurasi batch, lihat Konfigurasi push.

Dapatkah Function Compute memproses pesan yang dihasilkan oleh antrian pesan Kafka buatan pengguna?

Tidak, Function Compute tidak mendukung pemrosesan pesan yang dihasilkan oleh antrian pesan Kafka buatan pengguna. Function Compute tidak secara aktif memantau pesan baru dalam antrian pesan Kafka buatan pengguna. Anda dapat menggunakan fungsi HTTP untuk melampirkan pesan ke permintaan HTTP guna memicu fungsi.