Setelah Simple Message Queue (formerly MNS) diintegrasikan dengan Function Compute sebagai sumber acara menggunakan EventBridge, Anda dapat menggunakan pemicu antrian Simple Message Queue (formerly MNS) untuk memicu fungsi terkait. Fungsi tersebut dapat digunakan untuk melakukan operasi kustom pada pesan yang diterbitkan ke Simple Message Queue (formerly MNS). Topik ini menjelaskan cara membuat pemicu antrian Simple Message Queue (formerly MNS), mengonfigurasi parameter input fungsi terkait, menulis kode fungsi, dan menguji fungsi di konsol Function Compute.
Ikhtisar
Setelah Anda mengirim permintaan untuk membuat pemicu di konsol Function Compute, Function Compute secara otomatis membuat aliran acara di EventBridge berdasarkan konfigurasi pemicu. Untuk informasi lebih lanjut, lihat Ikhtisar.
Setelah pemicu dibuat, Anda dapat melihat informasi tentang pemicu di konsol Function Compute. Anda juga dapat melihat informasi tentang sumber daya yang telah dibuat di konsol EventBridge. Ketika pesan dimasukkan ke dalam antrian sumber Simple Message Queue (formerly MNS), fungsi terkait di Function Compute dipicu. Selama eksekusi fungsi, acara pesan didorong ke fungsi untuk diproses secara terpisah atau dalam batch berdasarkan konfigurasi batch Anda. Pemicu antrian Simple Message Queue (formerly MNS) cocok untuk skenario di mana data streaming ujung ke ujung diproses.
Catatan penggunaan
Antrian Simple Message Queue (formerly MNS) yang digunakan sebagai sumber pemicu harus berada di wilayah yang sama dengan fungsi Function Compute.
Jika jumlah aliran acara yang dibuat melebihi batas atas, Anda tidak dapat lagi membuat pemicu antrian Simple Message Queue (formerly MNS).
Untuk informasi tentang batasan sumber daya terkait pemicu di satu wilayah untuk setiap akun Alibaba Cloud, lihat Batasan.
Sebelum memulai
EventBridge
Function Compute
Simple Message Queue (formerly MNS)
Langkah 1: Buat pemicu
Setelah Anda membuat antrian Simple Message Queue (formerly MNS), masuk ke konsol Function Compute, klik fungsi yang diinginkan untuk pergi ke halaman detail fungsi, lalu klik tab Configurations. Klik Create Trigger di halaman Pemicu. Buat pemicu dan klik OK. Gambar berikut menunjukkan detailnya.

Deskripsi:
Invocation Method
Sync Invocation: Metode ini cocok untuk pemanggilan berurutan. Ketika suatu acara atau sekelompok acara memicu fungsi, Function Compute mengeksekusi fungsi dan menunggu respons sebelum fungsi memproses acara atau kelompok acara berikutnya. Payload maksimum permintaan pemanggilan sinkron adalah 32 MB. Untuk informasi lebih lanjut, lihat Pemanggilan Sinkron.
Async Invocation: Metode ini memungkinkan Anda untuk dengan cepat mengonsumsi acara. Ketika suatu acara atau sekelompok acara memicu fungsi, Function Compute segera mengembalikan respons dan terus memproses acara atau kelompok acara berikutnya. Selama proses ini, fungsi dieksekusi dalam mode asinkron. Payload maksimum permintaan pemanggilan asinkron adalah 128 KB. Untuk informasi lebih lanjut, lihat Pemanggilan Asinkron.
Untuk informasi tentang konfigurasi lanjutan seperti pengaturan dorongan, kebijakan ulang, dan antrian pesan gagal, lihat Fitur Lanjutan Pemicu.
Setelah pemicu dibuat, pemicu ditampilkan di tab Triggers. Untuk memodifikasi atau menghapus pemicu, lihat Manajemen Pemicu.
Langkah 2: (Opsional) Konfigurasikan parameter input
Acara sumber Simple Message Queue (formerly MNS) dilewatkan ke fungsi sebagai parameter input dalam bentuk event. Anda dapat menggunakan kode untuk mengurai dan memproses acara. Anda dapat secara manual meneruskan event ke fungsi untuk mensimulasikan acara pemicu guna menguji apakah kode fungsi benar.
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 acara dan konten acara, lalu klik OK.
Kode contoh
event:[ { "id":"c2g71017-6f65-fhcf-a814-a396fc8d****", "source":"MNS-Function-mnstrigger", "specversion":"1.0", "type":"mns:Queue:SendMessage", "datacontenttype":"application/json; charset=utf-8", "subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus", "time":"2021-04-08T06:28:17.093Z", "aliyunaccountid":"164901546557****", "aliyunpublishtime":"2021-10-15T07:06:34.028Z", "aliyunoriginalaccountid":"164901546557****", "aliyuneventbusname":"MNS-Function-mnstrigger", "aliyunregionid":"cn-chengdu", "aliyunpublishaddr":"42.120.XX.XX", "data":{ "requestId":"606EA3074344430D4C81****", "messageId":"C6DB60D1574661357FA227277445****", "messageBody":"TEST" } }, { "id":"d2g71017-6f65-fhcf-a814-a396fc8d****", "source":"MNS-Function-mnstrigger", "specversion":"1.0", "type":"mns:Queue:SendMessage", "datacontenttype":"application/json; charset=utf-8", "subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus", "time":"2021-04-08T06:28:17.093Z", "aliyunaccountid":"164901546557****", "aliyunpublishtime":"2021-10-15T07:06:34.028Z", "aliyunoriginalaccountid":"164901546557****", "aliyuneventbusname":"MNS-Function-mnstrigger", "aliyunregionid":"cn-chengdu", "aliyunpublishaddr":"42.120.XX.XX", "data":{ "requestId":"606EA3074344430D4C81****", "messageId":"C6DB60D1574661357FA227277445****", "messageBody":"TEST" } } ]Tabel berikut menjelaskan parameter yang terkandung dalam data. Untuk informasi tentang parameter yang didefinisikan dalam spesifikasi CloudEvents, lihat Ikhtisar.
Parameter
Diperlukan
Contoh
Deskripsi
requestId
String
606EA3074344430D4C81****
ID permintaan. ID setiap permintaan bersifat unik.
messageId
String
C6DB60D1574661357FA227277445****
ID pesan. ID setiap pesan bersifat unik.
messageBody
String
TEST
Isi pesan.
Langkah 3: Tulis kode fungsi dan uji fungsi
Setelah Anda membuat pemicu, Anda dapat menulis kode fungsi dan menguji fungsi untuk memverifikasi apakah kode tersebut benar. Ketika acara yang dihasilkan oleh Simple Message Queue (formerly MNS) dikirimkan ke Function Compute menggunakan EventBridge, pemicu secara otomatis memicu fungsi.
Di tab Code halaman detail fungsi, tulis kode di editor kode dan klik Deploy Code.
Kode contoh berikut memberikan contoh kode fungsi dalam Node.js:
'use strict'; /* Untuk mengaktifkan fitur inisialisasi silakan implementasikan fungsi inisialisasi sebagai berikut: exports.initializer = (context, callback) => { console.log('menginisialisasi'); callback(null, ''); }; */ exports.handler = (event, context, callback) => { console.log("event: %s", event); // Parse dan proses event. callback(null, 'hasil pengembalian'); }Uji fungsi.
Metode 1: Jika Anda mengonfigurasi
eventuntuk mensimulasikan sumber acara, klik Test Function.Metode 2: Masuk ke konsol Antrian Pesan Sederhana (sebelumnya MNS), pilih antrian yang Anda buat, lalu klik Kirim Pesan. Gambar berikut menunjukkan contohnya.

Setelah eksekusi selesai, lihat hasilnya di Log Real-time.

Informasi lebih lanjut
Untuk memodifikasi atau menghapus pemicu yang ada, lihat Kelola Pemicu.