Setelah ApsaraMQ for MQTT diintegrasikan dengan Function Compute menggunakan EventBridge, trigger ApsaraMQ for MQTT dapat digunakan untuk memanggil fungsi. Dengan cara ini, Anda dapat memanggil fungsi untuk memproses pesan yang diterbitkan ke ApsaraMQ for MQTT sesuai kebutuhan bisnis Anda. Topik ini menjelaskan cara membuat trigger ApsaraMQ for MQTT, mengonfigurasi parameter input fungsi, serta menulis dan menguji kode fungsi di konsol Function Compute.
Informasi latar belakang
Setelah Anda mengirim permintaan untuk membuat trigger di konsol Function Compute, Function Compute secara otomatis membuat aliran event di EventBridge berdasarkan konfigurasi trigger.
Setelah trigger dibuat, Anda dapat melihat informasi terkait di konsol Function Compute. Informasi tentang sumber daya yang telah dibuat juga dapat dilihat di konsol EventBridge. Ketika sebuah pesan masuk antrian di ApsaraMQ for MQTT, fungsi terkait di Function Compute dipanggil. Satu atau lebih event pesan didorong ke fungsi dalam batch untuk diproses sesuai konfigurasi batch Anda.
Prasyarat
EventBridge
EventBridge telah diaktifkan, dan izin yang diperlukan telah diberikan kepada pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Aktifkan EventBridge dan Berikan Izin kepada Pengguna RAM.
Function Compute
Fungsi telah dibuat. Untuk informasi lebih lanjut, lihat bagian Buat Fungsi dari topik "Kelola Fungsi".
ApsaraMQ for MQTT
Instansi ApsaraMQ for MQTT telah dibuat. Untuk informasi lebih lanjut, lihat bagian Langkah 1: Buat Sumber Daya dari topik "Pengenalan Cepat".
Topik telah dibuat. Untuk informasi lebih lanjut, lihat bagian Buat Topik dari topik "Kelola Topik".
Catatan penggunaan
Instansi ApsaraMQ for MQTT yang berfungsi sebagai sumber trigger harus berada di wilayah yang sama dengan fungsi yang akan dipanggil di Function Compute.
Jika jumlah aliran event yang dibuat mencapai batas maksimum, tidak ada lagi trigger ApsaraMQ for MQTT yang dapat dibuat. Untuk informasi lebih lanjut tentang batasan jumlah aliran event, lihat Batasan.
Langkah 1: Buat trigger ApsaraMQ for MQTT
Masuk ke Konsol Function Compute. Di panel navigasi kiri, klik Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi yang ingin Anda kelola.
Pada halaman Detail Fungsi, klik tab Configurations. Di panel navigasi kiri, klik Triggers. Kemudian, klik Create Trigger.
Di panel Buat Trigger, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Contoh
Trigger Type
Jenis trigger. Pilih ApsaraMQ for MQTT.
ApsaraMQ for MQTT
Name
Nama trigger.
mqtt-trigger
Version or Alias
Versi atau alias trigger. Nilai default: LATEST. Jika Anda ingin membuat trigger untuk versi atau alias lainnya, 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.
LATEST
ApsaraMQ for MQTT Instance
Nama instansi ApsaraMQ for MQTT yang ada.
mqtt-xxx
MQTT Topic
Nama topik ApsaraMQ for MQTT yang ada.
testTopic
Invocation Method
Mode pemanggilan fungsi.
Nilai valid:
Sync Invocation (default): Setelah event memanggil fungsi, Function Compute menunggu pemanggilan fungsi selesai sebelum mengembalikan respons. Untuk informasi lebih lanjut, lihat Pemanggilan sinkron.
Async Invocation: Setelah event memanggil fungsi, Function Compute segera mengembalikan respons dan memastikan bahwa fungsi berhasil dieksekusi setidaknya sekali. Namun, hasil rinciannya tidak dikembalikan. Mode ini cocok untuk fungsi yang memiliki latensi penjadwalan lebih tinggi. Untuk informasi lebih lanjut, lihat Ikhtisar.
Pemanggilan Sinkron
Trigger State
Menentukan apakah akan mengaktifkan trigger segera setelah dibuat. Secara default, Aktifkan Trigger dipilih. Trigger segera diaktifkan setelah dibuat.
Aktifkan Trigger
Untuk informasi lebih lanjut tentang konfigurasi lanjutan seperti pengaturan dorongan, kebijakan ulang, dan antrian pesan gagal, lihat Fitur Lanjutan Trigger.
Trigger ditampilkan di tab Triggers setelah dibuat. Untuk informasi lebih lanjut tentang cara memodifikasi atau menghapus trigger yang telah dibuat, lihat Kelola Trigger.
Langkah 2: Konfigurasikan parameter input fungsi
Event ApsaraMQ for MQTT digunakan untuk memanggil fungsi di Function Compute. Parameter event digunakan sebagai parameter input fungsi. Anda dapat secara manual melewatkan parameter event untuk memanggil fungsi sebagai tes.
Di tab Code halaman detail fungsi, klik ikon
di sebelah Test Function dan pilih Configure Test Parameters dari daftar drop-down.Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, masukkan nama event dan isi event, lalu klik OK.
Kode sampel berikut memberikan contoh format isi event:
[ { "props": { "firstTopic": "testTopic", "secondTopic": "/testMq4****", "clientId": "consumerGroupID@@@xxx" }, "body": "hello mq4Iot pub sub msg" } ]The following table describes the parameters of the event.
Parameter
Tipe
Contoh
Deskripsi
props
Map
Atribut pesan.
firstTopic
String
testTopic
Topik induk yang digunakan untuk mengirim dan menerima pesan.
secondTopic
String
/testMq4****
Topik anak.
clientId
String
consumerGroupID@@@xx
ID klien.
body
String
hello mq4Iot pub sub msg
Isi pesan.
Langkah 3: Tulis dan uji kode fungsi
Setelah Anda membuat trigger, Anda dapat menulis kode fungsi dan menguji kode fungsi untuk memverifikasi validitasnya. Ketika ApsaraMQ for MQTT menerima pesan, trigger secara otomatis memanggil fungsi.
Di halaman detail fungsi, klik tab Code, masukkan kode fungsi di editor kode, lalu klik Deploy.
Dalam contoh ini, kode fungsi ditulis dalam Node.js. Kode sampel berikut memberikan contoh:
'use strict'; /* Untuk mengaktifkan fitur inisialisasi silakan implementasikan fungsi inisialisasi seperti 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, 'hasil balikan'); }Klik Test Function.
Informasi lebih lanjut
Selain konsol Function Compute, Anda dapat mengonfigurasi trigger menggunakan salah satu metode berikut:
Gunakan alat Serverless Devs untuk mengonfigurasi trigger. Untuk operasi lebih lanjut, silakan merujuk ke Perintah Umum Serverless Devs.
Gunakan SDK untuk mengonfigurasi trigger. Untuk informasi lebih lanjut, lihat SDK.
Untuk memodifikasi atau menghapus trigger yang ada, lihat Kelola Trigger.