Setelah ApsaraMQ for MQTT diintegrasikan dengan Function Compute menggunakan EventBridge, fungsi dapat dipicu melalui trigger ApsaraMQ for MQTT. Fungsi ini memproses pesan yang diterbitkan ke ApsaraMQ for MQTT. Topik ini menjelaskan cara membuat trigger ApsaraMQ for MQTT, mengonfigurasi parameter input, serta menulis dan menguji kode di konsol Function Compute.
Informasi latar belakang
Setelah Anda membuat trigger di konsol Function Compute, Function Compute secara otomatis membuat sumber daya aliran acara di EventBridge berdasarkan konfigurasi trigger.
Setelah trigger dibuat, informasi terkait trigger dapat dilihat di konsol Function Compute. Informasi tentang sumber daya yang dibuat juga dapat ditemukan di konsol EventBridge. Ketika pesan masuk ke antrian di ApsaraMQ for MQTT, eksekusi fungsi di Function Compute dipicu. Satu atau lebih peristiwa pesan didorong ke fungsi dalam batch sesuai dengan konfigurasi batch Anda.
Sebelum Anda mulai
EventBridge
Function Compute
ApsaraMQ for MQTT
Batasan
Instance ApsaraMQ for MQTT yang digunakan sebagai sumber trigger harus berada di wilayah yang sama dengan fungsi di Function Compute.
Jika jumlah aliran acara melebihi batas atas, trigger ApsaraMQ for MQTT tidak dapat dibuat. Untuk informasi lebih lanjut tentang batas atas aliran acara, lihat Batasan.
Langkah 1: Buat trigger ApsaraMQ for MQTT
Masuk ke konsol Function Compute. Di panel navigasi sebelah kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.
Pada halaman Functions, klik nama fungsi yang diinginkan.
Pada halaman detail fungsi, klik tab Triggers, pilih versi atau alias dari daftar drop-down Version or Alias, lalu klik Create Trigger.
Di panel Buat Trigger, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Contoh
Trigger Type
Pilih ApsaraMQ for MQTT.
ApsaraMQ for MQTT
Name
Masukkan nama trigger.
mqtt-trigger
Version or Alias
Nilai default adalah LATEST. Jika Anda ingin membuat trigger untuk versi atau alias lainnya, beralihlah ke trigger versi atau alias tersebut di pojok kanan atas halaman detail fungsi. Untuk informasi lebih lanjut tentang versi dan alias, lihat Kelola versi dan Kelola alias.
LATEST
ApsaraMQ for MQTT Instance
Pilih instance ApsaraMQ for MQTT.
mqtt-xxx
MQTT Topic
Pilih topik ApsaraMQ for MQTT.
testTopic
Invocation Method
Pilih metode untuk memanggil fungsi.
Opsi:
Sync Invocation: Setelah suatu peristiwa memicu fungsi, Function Compute menunggu pemanggilan fungsi selesai sebelum mengembalikan respons. Untuk informasi lebih lanjut, lihat Pemanggilan sinkron.
Async Invocation: Setelah suatu peristiwa memicu eksekusi fungsi, Function Compute langsung mengembalikan respons dan memastikan bahwa fungsi berhasil dieksekusi setidaknya sekali. Namun, hasil eksekusi rinci tidak dikembalikan. Metode pemanggilan ini cocok untuk fungsi yang memiliki latensi penjadwalan lebih tinggi. Untuk informasi lebih lanjut, lihat Ikhtisar.
Pemanggilan Sinkron
Trigger State
Tentukan apakah akan mengaktifkan trigger segera setelah dibuat. Secara default, Aktifkan Trigger dipilih dan trigger langsung diaktifkan setelah dibuat.
Aktifkan Trigger
Untuk informasi lebih lanjut tentang konfigurasi lanjutan seperti pengaturan dorongan, kebijakan ulang, dan antrian surat mati, lihat Fitur Lanjutan Trigger.
Trigger ditampilkan di tab Triggers setelah dibuat. Untuk memodifikasi atau menghapus trigger yang telah dibuat, lihat Kelola Trigger.
Langkah 2: Konfigurasikan parameter input fungsi
Sumber acara ApsaraMQ for MQTT dilewatkan ke fungsi dalam bentuk event, yang bertindak sebagai parameter input. Anda dapat secara manual melewatkan event ke fungsi untuk memicu fungsi tersebut.
- Di halaman detail fungsi, klik tab Code dan klik ikon
. Dari daftar drop-down yang muncul, pilih Configure Test Parameters. Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, tentukan Event Name dan isi acara, lalu klik OK.
Kode contoh event:
[ { "props": { "firstTopic": "testTopic", "secondTopic": "/testMq4****", "clientId": "consumerGroupID@@@xxx" }, "body": "hello mq4Iot pub sub msg" } ]The following table describes parameters that are contained in event.
Parameter
Tipe
Contoh
Deskripsi
props
Map
Properti pesan.
firstTopic
String
testTopic
Topik induk yang digunakan untuk mengirim dan menerima pesan.
secondTopic
String
/testMq4****
Subtopik.
clientId
String
consumerGroupID@@@xx
ID klien.
body
String
hello mq4Iot pub sub msg
Isi pesan.
Langkah 3: Tulis dan uji fungsi
Setelah membuat trigger, Anda dapat menulis kode fungsi dan menguji fungsi untuk memverifikasi apakah kode tersebut benar. Ketika ApsaraMQ for MQTT menerima pesan, trigger secara otomatis memicu fungsi.
Di halaman detail fungsi, klik tab Code, masukkan kode fungsi di editor kode, lalu klik Deploy.
Dalam topik ini, kode contoh dalam runtime Node.js digunakan sebagai contoh.
'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, 'hasil pengembalian'); }- Klik tab Code dan klik Test Function.Setelah fungsi dieksekusi, hasilnya dapat dilihat di tab Kode.
Informasi tambahan
Selain konsol Function Compute, Anda dapat mengonfigurasi trigger menggunakan metode berikut:
Gunakan Serverless Devs untuk mengonfigurasi trigger. Untuk informasi lebih lanjut, lihat Buat Trigger.
Gunakan SDK untuk mengonfigurasi trigger. Untuk informasi lebih lanjut, lihat SDK.
Untuk memodifikasi atau menghapus trigger yang ada, lihat Kelola Trigger.