Pemicu ApsaraMQ for MQTT memanggil fungsi Function Compute setiap kali pesan tiba pada topik MQTT tertentu. Integrasi ini berjalan melalui EventBridge: saat Anda membuat pemicu, Function Compute secara otomatis menyediakan aliran acara di EventBridge dan mulai meneruskan pesan ke fungsi Anda dalam batch sesuai konfigurasi batch yang telah Anda tetapkan.
Prasyarat
Sebelum memulai, pastikan Anda telah:
mengaktifkan EventBridge dan memberikan izin yang diperlukan kepada pengguna Resource Access Management (RAM). Lihat Aktifkan EventBridge dan berikan izin kepada pengguna RAM.
Fungsi Function Compute. Lihat Membuat fungsi.
membuat instans ApsaraMQ for MQTT. Lihat Langkah 1: Buat sumber daya.
Topik ApsaraMQ for MQTT. Lihat Buat topik.
Catatan penggunaan
Instans ApsaraMQ for MQTT dan fungsi Function Compute harus berada di wilayah yang sama.
Jika kuota aliran acara tercapai, tidak ada pemicu ApsaraMQ for MQTT tambahan yang dapat dibuat. Lihat Batas.
Langkah 1: Buat pemicu ApsaraMQ for MQTT
Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi target.
Di halaman detail fungsi, klik tab Configurations. Di panel navigasi kiri, klik Triggers, lalu klik Create Trigger.
Di panel Create Trigger, atur parameter berikut dan klik OK.
| Parameter | Deskripsi | Contoh |
|---|---|---|
| Trigger type | Jenis pemicu. Pilih ApsaraMQ for MQTT. | ApsaraMQ for MQTT |
| Name | Nama pemicu. | mqtt-trigger |
| Version or alias | Versi atau alias fungsi yang akan dikaitkan dengan pemicu. Nilai default: LATEST. Untuk menargetkan versi atau alias lain, pilih di pojok kanan atas halaman detail fungsi. Lihat Manage versions dan Manage aliases. | LATEST |
| ApsaraMQ for MQTT instance | Instans ApsaraMQ for MQTT yang sudah ada untuk digunakan sebagai sumber acara. | mqtt-xxx |
| MQTT topic | Topik MQTT yang sudah ada untuk dipantau. | testTopic |
| Invocation method | Cara pemanggilan fungsi saat pesan tiba. Sync Invocation (default): Function Compute menunggu hingga fungsi selesai sebelum mengembalikan respons. Lihat Synchronous invocations. Async Invocation: Function Compute segera mengembalikan respons dan menjamin fungsi dieksekusi setidaknya satu kali. Hasil detail tidak dikembalikan. Mode ini cocok untuk fungsi yang memiliki latensi penjadwalan lebih tinggi. Lihat Overview. | Sync Invocation |
| Trigger state | Apakah pemicu langsung diaktifkan setelah dibuat. Secara default diaktifkan. | Enable Trigger |
Untuk opsi lanjutan seperti pengaturan dorong, kebijakan pengulangan, dan antrian surat mati (dead-letter queues), lihat Advanced features of triggers.
Setelah pemicu dibuat, pemicu tersebut akan muncul di tab Triggers. Untuk mengubah atau menghapusnya, lihat Manage triggers.
Langkah 2: Konfigurasikan parameter uji
Saat pesan tiba, ApsaraMQ for MQTT meneruskan objek event ke fungsi Anda. Untuk menguji fungsi secara manual, konfigurasikan acara uji yang sesuai dengan format ini.
Di tab Code pada halaman detail fungsi, klik ikon
di samping Test Function dan pilih Configure Test Parameters dari daftar tarik-turun.Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, masukkan nama acara dan konten acara di bawah ini, lalu klik OK.
[
{
"props": {
"firstTopic": "testTopic",
"secondTopic": "/testMq4****",
"clientId": "consumerGroupID@@@xxx"
},
"body": "hello mq4Iot pub sub msg"
}
]Acara tersebut berupa array. Setiap elemen merepresentasikan satu pesan dan berisi bidang-bidang berikut.
| Bidang | Tipe | Contoh | Deskripsi |
|---|---|---|---|
props | Map | Atribut pesan. | |
props.firstTopic | String | testTopic | Topik induk yang digunakan untuk mengirim dan menerima pesan. |
props.secondTopic | String | /testMq4**** | Topik anak. |
props.clientId | String | consumerGroupID@@@xxx | ID klien. |
body | String | hello mq4Iot pub sub msg | Muatan pesan. |
Langkah 3: Tulis dan uji kode fungsi
Di tab Code, masukkan kode fungsi Anda dan klik Deploy. Contoh Node.js berikut mencatat event masuk dan mengembalikan hasil. Ganti isi body dengan logika pemrosesan pesan Anda sendiri.
'use strict'; /* Untuk mengaktifkan fitur inisialisasi, implementasikan fungsi inisialisasi seperti di bawah ini: exports.initializer = (context, callback) => { console.log('initializing'); callback(null, ''); }; */ exports.handler = (event, context, callback) => { console.log("event: %s", event); // Uraikan parameter event dan proses event tersebut. callback(null, 'return result'); }Klik Test Function. Setelah penerapan, setiap pesan yang dipublikasikan ke topik MQTT yang dikonfigurasi akan secara otomatis memanggil fungsi tersebut.
Langkah selanjutnya
Konfigurasikan pemicu menggunakan SDK alih-alih konsol. Lihat SDKs.
Ubah atau hapus pemicu yang sudah ada. Lihat Manage triggers.