Setelah Anda mengintegrasikan Message Queue for MQTT dengan Function Compute menggunakan EventBridge sebagai sumber event, Anda dapat menggunakan pemicu Message Queue for MQTT untuk memanggil fungsi yang menangani pesan yang dipublikasikan ke Message Queue for MQTT. Topik ini menjelaskan cara membuat pemicu MQTT, mengonfigurasi parameter input, serta menulis dan menguji kode di konsol Function Compute.
Informasi latar belakang
Saat Anda membuat pemicu di konsol Function Compute, Function Compute secara otomatis membuat resource event stream di EventBridge berdasarkan konfigurasi pemicu tersebut.
Setelah pemicu dibuat, Anda dapat melihat detailnya di konsol Function Compute. Anda juga dapat melihat resource yang dibuat secara otomatis di konsol EventBridge. Ketika sebuah pesan tiba di Message Queue for MQTT, pemicu tersebut memanggil fungsi. Bergantung pada konfigurasi batching Anda, satu atau beberapa event pesan didorong ke fungsi dalam satu batch untuk diproses.
Prasyarat
EventBridge
Function Compute
Message Queue for MQTT
Batasan
Instans Message Queue for MQTT dan fungsi Function Compute harus berada di wilayah yang sama.
Jika Anda mencapai jumlah maksimum event stream, Anda tidak dapat membuat lebih banyak pemicu MQTT. Untuk informasi selengkapnya tentang batasan event stream, lihat Batasan.
Langkah 1: Buat pemicu MQTT
Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi yang dituju.
Di halaman detail fungsi, klik tab Trigger, lalu klik Create Trigger.
Di panel Create Trigger, masukkan informasi yang diperlukan, lalu klik OK.
Parameter
Tindakan
Contoh
Trigger Type
Pilih ApsaraMQ for MQTT.
Message Queue for MQTT
Name
Masukkan nama kustom untuk pemicu.
mqtt-trigger
Version or Alias
Nilai default-nya adalah LATEST. Jika Anda perlu membuat pemicu untuk versi atau alias lain, alihkan ke versi atau alias tersebut di pojok kanan atas halaman detail fungsi. Untuk informasi selengkapnya, lihat Kelola versi dan Kelola alias.
LATEST
ApsaraMQ for MQTT Instance
Pilih instans MQTT yang sudah ada.
mqtt-xxx
MQTT topic
Pilih topik MQTT yang sudah ada.
testTopic
Invocation Method
Pilih metode pemanggilan fungsi.
Nilai yang valid:
Sync Invocation: Ini adalah metode default. Saat suatu event memicu fungsi, Function Compute menunggu hingga pemanggilan selesai sebelum mengembalikan hasilnya. Untuk informasi selengkapnya, lihat pemanggilan sinkron.
Async Invocation: Metode ini cocok untuk fungsi dengan waktu eksekusi panjang. Saat suatu event memicu fungsi, Function Compute langsung mengembalikan respons. Layanan ini menjamin bahwa fungsi dieksekusi setidaknya sekali, tetapi hasil eksekusi tidak dikembalikan dalam respons. Untuk informasi selengkapnya, lihat pemanggilan asinkron.
Synchronous Invocation
Trigger State
Menentukan apakah pemicu langsung diaktifkan setelah dibuat. Secara default, opsi ini dipilih.
Enable Trigger
Untuk informasi tentang pengaturan lanjutan seperti konfigurasi push, kebijakan retry, dan dead-letter queue, lihat Fitur lanjutan pemicu.
Setelah pemicu dibuat, pemicu tersebut akan muncul di tab Triggers. Untuk mengubah atau menghapus pemicu, lihat Kelola pemicu.
Langkah 2: Konfigurasi parameter input fungsi
Sumber event MQTT diteruskan ke fungsi sebagai parameter input dalam bentuk event. Anda dapat meneruskan event secara manual ke fungsi untuk mensimulasikan pemicuan event.
Di tab Code halaman detail fungsi, klik ikon
di samping Test Function, lalu pilih Configure Test Parameters dari daftar drop-down.Di panel Configure Test Parameters, pilih Create New Test Event atau Modify Existing Test Event, masukkan nama event dan konten event, lalu klik OK.
Event memiliki format berikut.
[ { "props": { "firstTopic": "testTopic", "secondTopic": "/testMq4****", "clientId": "consumerGroupID@@@xxx" }, "body": "hello mq4Iot pub sub msg" } ]Tabel berikut menjelaskan parameter dalam objek 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 pemicu, Anda dapat menulis dan menguji kode fungsi untuk memverifikasi bahwa fungsinya bekerja dengan benar. Di lingkungan produksi, pemicu secara otomatis memanggil fungsi saat pesan diterima oleh Message Queue for MQTT.
Di halaman detail fungsi, buka tab Code. Di editor kode, tulis kode Anda, lalu klik Deploy.
Kode contoh berikut ditulis dalam Node.js.
'use strict'; /* Untuk mengaktifkan fitur inisialisasi, implementasikan fungsi inisialisasi sebagai berikut: 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.
Informasi selengkapnya
Selain melalui konsol Function Compute, Anda juga dapat mengonfigurasi pemicu dengan cara berikut:
Gunakan tool Serverless Devs untuk mengonfigurasi pemicu. Untuk informasi selengkapnya, lihat Perintah umum Serverless Devs.
Gunakan SDK untuk mengonfigurasi pemicu. Untuk informasi selengkapnya, lihat SDK.
Untuk mengubah atau menghapus pemicu, lihat Kelola pemicu.