All Products
Search
Document Center

Function Compute:Pemicu antrian Simple Message Queue (formerly MNS)

Last Updated:Sep 10, 2026

Pemicu antrian Simple Message Queue (formerly MNS) memungkinkan Anda menjalankan fungsi Function Compute secara otomatis setiap kali ada pesan yang masuk ke dalam antrian. Pemicu ini didukung oleh EventBridge: saat Anda membuat pemicu di Konsol Function Compute, Function Compute akan membuat aliran event yang diperlukan di EventBridge atas nama Anda. Untuk detail mengenai aliran event, lihat Ikhtisar.

Saat pemicu aktif, setiap pesan yang dimasukkan ke dalam antrian sumber akan menyebabkan fungsi terkait dieksekusi. Pesan dikirimkan satu per satu atau dalam batch, tergantung pada konfigurasi batch Anda. Pola ini cocok untuk pemrosesan data streaming end-to-end.

Batasan

  • Antrian Simple Message Queue (formerly MNS) dan fungsi Function Compute harus berada di Wilayah yang sama.

  • Jika akun Alibaba Cloud Anda mencapai batas aliran event EventBridge, Anda tidak dapat membuat pemicu antrian Simple Message Queue (formerly MNS) tambahan. Untuk informasi batas terkini, lihat Batasan.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Buat pemicu

  1. Masuk ke Konsol Function Compute dan klik fungsi yang ingin Anda gunakan.

  2. Pada halaman detail fungsi, klik tab Configurations, lalu buka Triggers dan klik Create Trigger.

  3. Isi pengaturan pemicu. Bidang utama adalah Invocation Method. Untuk detailnya, lihat Synchronous invocation dan Asynchronous invocation.

    Invocation method Behavior Max payload When to use
    Sync Invocation Function Compute menunggu fungsi mengembalikan respons sebelum mengirimkan event atau batch berikutnya 32 MB Pemrosesan berurutan atau berbasis urutan penting
    Async Invocation Function Compute mengirimkan event dan langsung melanjutkan ke event berikutnya; fungsi berjalan di latar belakang 128 KB Skenario throughput tinggi di mana Anda ingin mengonsumsi event dengan cepat
  4. Klik OK.

image

Untuk pengaturan lanjutan seperti push settings, kebijakan retry, dan dead-letter queues, lihat Fitur lanjutan pemicu.

Setelah pemicu dibuat, pemicu tersebut akan muncul di tab Triggers. Untuk mengubah atau menghapusnya, lihat Kelola pemicu.

Langkah 2: (Opsional) Konfigurasikan parameter pengujian

Fungsi menerima event Simple Message Queue (formerly MNS) sebagai parameter event — sebuah array objek berformat CloudEvents. Untuk menguji kode fungsi tanpa mengirim pesan sungguhan, simulasi event tersebut secara manual.

  1. Pada tab Code, klik ikon image.png di samping Test Function dan pilih Configure Test Parameters.

  2. Pada panel Configure Test Parameters, klik Create New Test Event atau Modify Existing Test Event, masukkan nama event dan konten event di bawah ini, lalu klik OK.

Contoh muatan 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"
    }
  }
]

Referensi bidang event

Setiap elemen dalam array mengikuti spesifikasi CloudEvents.

Bidang envelope CloudEvents

Field Type Example Description
id String c2g71017-6f65-fhcf-a814-a396fc8d**** ID event unik
source String MNS-Function-mnstrigger Identifikasi sumber event (nama event bus)
type String mns:Queue:SendMessage Jenis event
subject String acs:mns:cn-hangzhou:...:queues/zeus ARN dari antrian sumber
time String 2021-04-08T06:28:17.093Z Waktu pesan dimasukkan ke antrian (ISO 8601)
specversion String 1.0 Versi spesifikasi CloudEvents
datacontenttype String application/json; charset=utf-8 Jenis konten dari bidang data
aliyunregionid String cn-chengdu Wilayah tempat antrian berada
aliyunaccountid String 164901546557**** ID akun Alibaba Cloud
aliyunpublishtime String 2021-10-15T07:06:34.028Z Waktu EventBridge menerbitkan event

Bidang `data`

Field Type Example Description
requestId String 606EA3074344430D4C81**** ID unik dari permintaan pengiriman pesan
messageId String C6DB60D1574661357FA227277445**** ID unik dari pesan
messageBody String TEST Konten isi pesan

Langkah 3: Tulis dan uji fungsi

Setelah pemicu dibuat, tulis kode fungsi Anda, deploy, lalu verifikasi bahwa pemicu berfungsi dari awal hingga akhir.

Tulis dan deploy kode fungsi

Pada tab Code, tulis penanganan Anda dan klik Deploy Code.

Contoh berikut dalam Node.js menunjukkan cara menulis kode fungsi:

'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);
  // Parse dan proses event.
  callback(null, 'return result');
}

Uji fungsi

Gunakan salah satu metode berikut:

  • Event simulasi: Jika Anda telah mengonfigurasi event pengujian di Langkah 2, klik Test Function pada tab Code.

  • Pesan nyata: Masuk ke Konsol Simple Message Queue (formerly MNS), pilih antrian sumber, lalu klik Send Message.

image

Setelah fungsi dieksekusi, lihat output-nya di Real-time Logs.

image

Langkah selanjutnya