Topik ini menjelaskan cara membuat konektor sink Function Compute untuk menyinkronkan data dari topik sumber di instance ApsaraMQ for Kafka Anda ke fungsi dalam Function Compute.
Prasyarat
Untuk informasi tentang prasyarat, lihat Prasyarat.Catatan penggunaan
- Anda harus memilih fungsi event sebagai tipe fungsi tujuan.
- Jika Anda mengirimkan pesan dari Message Queue for Apache Kafka ke Function Compute yang berada di wilayah yang sama, data ditransmisikan melalui jaringan internal. Dalam hal ini, Anda tidak dikenakan biaya lalu lintas Internet.
Langkah 1: Membuat sumber daya Function Compute
Buat sebuah fungsi dalam Function Compute. Untuk informasi lebih lanjut, lihat Membuat Fungsi dengan Cepat.
Dalam contoh ini, sebuah fungsi event bernama sink-fc dibuat untuk layanan guide-fc-sink-service yang berjalan dalam lingkungan runtime Python. Kode fungsi:
# -*- coding: utf-8 -*-
import logging
import json
def handler(event, context):
logger = logging.getLogger()
evt = json.loads(event)
logger.info(evt)
return "success"Langkah 2: Membuat dan memulai konektor sink Function Compute
Masuk ke Konsol ApsaraMQ for Kafka. Di bagian Resource Distribution pada halaman Overview, pilih wilayah tempat instance ApsaraMQ for Kafka yang ingin Anda kelola berada.
- Di panel navigasi sisi kiri, pilih .
- Di halaman Message Outflow, klik Create Task.
- Di panel Create Message Outflow Task, konfigurasikan parameter dan klik Confirm.
- Di bagian Basic Information, konfigurasikan parameter Task Name dan pilih Function Compute dari daftar drop-down Message Outflow Task Type.
- Di bagian Resource Configuration, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Tabel 1. Message Queue for Apache Kafka Sumber Parameter Deskripsi Contoh Wilayah Pilih wilayah tempat instance Message Queue for Apache Kafka berada. China (Hangzhou) Instance Message Queue for Apache Kafka ID dari instance Message Queue for Apache Kafka. alikafka_post-cn-9hdsbdhd**** Topik Topik sumber di instance Message Queue for Apache Kafka. guide-sink-topic ID Grup ID grup di instance Message Queue for Apache Kafka. - Quickly Create: Sistem secara otomatis membuat grup dengan ID dalam format GID_EVENTBRIDGE_xxx.
- Use Existing Group: Pilih ID grup yang ada yang tidak sedang digunakan. Jika Anda memilih grup yang ada yang sedang digunakan, publikasi dan langganan pesan yang ada akan terpengaruh.
Gunakan Grup yang Ada Kuota Konkurensi (Konsumen) Jumlah thread yang mengonsumsi data secara bersamaan di topik. Berikut adalah deskripsi pemetaan antara thread dan partisi dalam topik: - Jika jumlah partisi dalam topik sama dengan jumlah thread yang mengonsumsi data secara bersamaan di topik, satu thread mengonsumsi data di satu partisi. Kami merekomendasikan Anda menggunakan konfigurasi ini.
- Jika jumlah partisi dalam topik lebih besar dari jumlah thread yang mengonsumsi data secara bersamaan di topik, thread secara merata mengonsumsi data di semua partisi.
- Jika jumlah partisi dalam topik lebih kecil dari jumlah thread yang mengonsumsi data secara bersamaan di topik, satu thread mengonsumsi data di satu partisi. Thread tambahan tidak mengonsumsi data.
2 Offset Konsumen - Latest Offset: Mengonsumsi pesan dari offset paling baru.
- Earliest Offset: Mengonsumsi pesan dari offset paling awal.
Offset Terbaru Konfigurasi Jaringan Jika transmisi data lintas batas diperlukan, pilih Internet. Dalam kasus lain, pilih Default Network. Jaringan Default Tabel 2. Target Function Compute Parameter Deskripsi Contoh Layanan Pilih layanan Function Compute yang Anda buat. guide-fc-sink-service Fungsi Pilih fungsi Function Compute yang Anda buat. sink-fc Mode Pemanggilan - Asynchronous: mengirim permintaan ke Function Compute dalam mode asinkron. Dalam mode ini, ukuran payload dibatasi hingga 128 KB.
- Synchronous: mengirim permintaan ke Function Compute dalam mode sinkron. Dalam mode ini, ukuran payload dibatasi hingga 32 MB. Batas waktu untuk permintaan sinkron adalah 5 menit.
Sinkron Push Batch Anda dapat menggunakan fitur push batch untuk mengumpulkan beberapa event dalam satu batch. Push batch dipicu ketika kondisi yang ditentukan oleh parameter Pesan atau parameter Interval terpenuhi. Sebagai contoh, Anda mengatur parameter Pesan menjadi 100 dan parameter Interval menjadi 15 detik. Jika jumlah pesan mencapai 100 dalam 10 detik, push batch segera dipicu. Nilai valid: - Enable
- Disable: Jika Anda mengatur parameter ini ke Nonaktifkan, hanya satu pesan yang dikirim ke Function Compute pada satu waktu.
Aktifkan Pesan Jumlah maksimum pesan yang dapat dikirim untuk setiap pemanggilan fungsi. Permintaan dikirim hanya ketika jumlah pesan dalam backlog mencapai nilai yang ditentukan. Nilai valid: [1,10000]. Parameter ini hanya diperlukan jika parameter Push Batch diatur ke Enable. 100 Interval Interval di mana Anda ingin memanggil fungsi. Sistem mengirim pesan yang terkumpul ke Function Compute ketika interval yang ditentukan tercapai. Nilai valid: 0 hingga 15. Unit: detik. Nilai 0 menentukan bahwa pesan segera dikirim setelah pengumpulan. Parameter ini hanya diperlukan jika parameter Push Batch diatur ke Enable. 10
Setelah menyelesaikan operasi sebelumnya, buka halaman Message Outflow, temukan konektor sink Function Compute yang Anda buat, lalu klik Start di kolom Actions. Jika status di kolom Status berubah dari Starting menjadi Running, konektor berhasil dibuat.
Langkah 3: Uji konektor sink Function Compute
- Di halaman Message Outflow, temukan konektor sink Function Compute yang Anda buat dan klik nama topik sumber di kolom Event Source.
- Di halaman Detail Topik, klik Send Message.
- Di panel Start to Send and Consume Message, konfigurasikan parameter sesuai gambar berikut dan klik OK.

- Di halaman Message Outflow, temukan konektor sink Function Compute yang Anda buat dan klik nama fungsi tujuan di kolom Event Target.
- Klik tab Logs. Lalu, klik tab Requests untuk melihat log pemanggilan.
