All Products
Search
Document Center

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

Last Updated:Apr 01, 2026

Pemicu antrian Simple Message Queue (formerly MNS) memungkinkan Anda menjalankan fungsi Function Compute secara otomatis setiap kali sebuah message tiba di 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 message yang dimasukkan ke antrian sumber akan menyebabkan fungsi terkait dieksekusi. Message 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. Di 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 methodBehaviorMax payloadWhen to use
    Sync InvocationFunction Compute menunggu fungsi mengembalikan respons sebelum mengirimkan event atau batch berikutnya32 MBPemrosesan berurutan atau berbasis urutan penting
    Async InvocationFunction Compute mengirimkan event dan langsung melanjutkan ke event berikutnya; fungsi berjalan di latar belakang128 KBSkenario 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 — berupa array objek berformat CloudEvents. Untuk menguji kode fungsi tanpa mengirim message sungguhan, simulasi event secara manual.

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

  2. Di 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

FieldTypeExampleDescription
idStringc2g71017-6f65-fhcf-a814-a396fc8d****ID event unik
sourceStringMNS-Function-mnstriggerIdentifier sumber event (nama event bus)
typeStringmns:Queue:SendMessageJenis event
subjectStringacs:mns:cn-hangzhou:...:queues/zeusARN dari antrian sumber
timeString2021-04-08T06:28:17.093ZWaktu message dimasukkan ke antrian (ISO 8601)
specversionString1.0Versi spesifikasi CloudEvents
datacontenttypeStringapplication/json; charset=utf-8Jenis konten dari bidang data
aliyunregionidStringcn-chengduWilayah tempat antrian berada
aliyunaccountidString164901546557****ID akun Alibaba Cloud
aliyunpublishtimeString2021-10-15T07:06:34.028ZWaktu EventBridge menerbitkan event

Bidang `data`

FieldTypeExampleDescription
requestIdString606EA3074344430D4C81****ID unik dari permintaan pengiriman message
messageIdStringC6DB60D1574661357FA227277445****ID unik dari message
messageBodyStringTESTKonten isi message

Langkah 3: Tulis dan uji fungsi

Setelah pemicu dibuat, tulis kode fungsi Anda, deploy, lalu verifikasi bahwa pemicu berfungsi secara end-to-end.

Tulis dan deploy kode fungsi

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

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

'use strict';
/*
Untuk mengaktifkan fitur initializer,
implementasikan fungsi initializer 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 di tab Code.

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

image

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

image

Langkah selanjutnya