全部产品
Search
文档中心

Function Compute:Pemicu antrian Antrian Pesan Sederhana (sebelumnya MNS)

更新时间:Jul 06, 2025

Setelah Simple Message Queue (formerly MNS) diintegrasikan dengan Function Compute sebagai sumber acara menggunakan EventBridge, pemicu antrian Antrian Pesan Sederhana (sebelumnya MNS) dapat memicu fungsi terkait. Fungsi tersebut digunakan untuk melakukan operasi kustom pada pesan yang dipublikasikan ke antrian Antrian Pesan Sederhana (sebelumnya MNS). Topik ini menjelaskan cara membuat pemicu antrian Simple Message Queue (formerly MNS), mengonfigurasi parameter input fungsi, serta menulis dan menguji kode di konsol Function Compute.

Fitur

Setelah Anda memutuskan untuk membuat pemicu di konsol Function Compute, Function Compute akan membuat sumber daya EventBridge berdasarkan konfigurasi pemicu. Function Compute mendukung mode acara dan mode aliran acara untuk mendorong pesan. Berikut adalah sumber daya yang dapat dibuat dalam setiap mode:

Setelah pemicu dibuat, informasi pemicu dapat dilihat di konsol Function Compute. Informasi tentang sumber daya yang dibuat juga dapat dilihat di konsol EventBridge. Saat pesan dikirim ke antrian Antrian Pesan Sederhana (sebelumnya MNS) yang digunakan sebagai sumber pemicu, eksekusi fungsi dipicu di Function Compute. Mode dorongan yang berbeda mendukung parameter yang berbeda. Untuk detail lebih lanjut, lihat Langkah 2: Konfigurasikan Parameter Input Fungsi.

  • Mode acara: Pesan tunggal diteruskan ke fungsi sebagai parameter acara. Acara tersebut mengikuti spesifikasi CloudEvents. Untuk informasi tentang hubungan antara konten pesan dan CloudEvents, lihat Langkah 2: Konfigurasikan Parameter Input Fungsi.

  • Mode aliran acara: Satu atau lebih pesan didorong ke Function Compute untuk pemrosesan batch sesuai konfigurasi batch Anda. Model ini cocok untuk skenario pemrosesan data streaming ujung ke ujung.

Catatan penggunaan

  • Antrian Antrian Pesan Sederhana (sebelumnya MNS) yang digunakan sebagai sumber pemicu harus berada di wilayah yang sama dengan fungsi di Function Compute.

  • Jika jumlah bus acara kustom dan aturan acara melebihi batas atas, pemicu antrian Simple Message Queue (formerly MNS) tidak dapat lagi dibuat untuk mode acara.

  • Jika jumlah aliran acara melebihi batas atas, pemicu antrian Simple Message Queue (formerly MNS) tidak dapat lagi dibuat untuk mode aliran acara.

Untuk informasi tentang batasan jumlah sumber daya yang terlibat dalam pembuatan pemicu untuk satu akun Alibaba Cloud di satu wilayah, lihat Batasan.

Sebelum Anda mulai

Langkah 1: Buat pemicu

  1. Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.

  3. Pada halaman Functions, klik fungsi yang ingin Anda kelola.
  4. Pada halaman detail fungsi, klik tab Triggers, pilih versi atau alias dari daftar drop-down Version or Alias, lalu klik Create Trigger.
  5. Di panel Buat Pemicu, tentukan parameter terkait. Setelah menentukan parameter, klik OK.

    Tabel berikut menggambarkan parameter dasar.

    Parameter

    Deskripsi

    Contoh

    Trigger Type

    Pilih Simple Message Queue (formerly MNS) Dipicu oleh Antrian.

    Simple Message Queue (formerly MNS)

    Name

    Masukkan nama pemicu kustom.

    mns-trigger

    Version or Alias

    Nilai default adalah LATEST. Jika Anda ingin membuat pemicu untuk versi atau alias lain, beralihlah ke versi atau alias yang ditentukan di sudut kanan atas halaman detail fungsi. Untuk informasi lebih lanjut tentang versi dan alias layanan, lihat Kelola versi dan Kelola alias.

    LATEST

    Queue Name

    Pilih antrian Antrian Pesan Sederhana (sebelumnya MNS).

    MyQueue

    Invocation Method

    Pilih mode pemanggilan fungsi.

    Nilai valid:

    • Sync Invocation: Mode ini cocok untuk pemanggilan berurutan. Saat satu acara atau sekelompok acara memicu fungsi, Function Compute menjalankan fungsi dan menunggu respons sebelum memproses acara atau kelompok acara berikutnya. Batas atas payload untuk permintaan pemanggilan sinkron adalah 32 MB. Untuk informasi lebih lanjut, lihat Pemanggilan sinkron.

    • Async Invocation: Mode ini memungkinkan Anda untuk dengan cepat mengonsumsi acara. Saat satu acara atau sekelompok acara memicu fungsi, Function Compute segera mengembalikan respons dan melanjutkan memproses acara atau kelompok acara berikutnya. Selama proses ini, fungsi dijalankan dalam mode asinkron. Batas atas payload untuk permintaan pemanggilan asinkron adalah 128 KB. Untuk informasi lebih lanjut, lihat Ikhtisar.

    Pemanggilan Sinkron

    Message Push Mode

    Mode aplikasi dasar yang digunakan untuk mendorong data pesan ke Function Compute.

    Nilai valid:

    • Event Stream Mode: Satu atau lebih pesan didorong ke Function Compute untuk pemrosesan batch berdasarkan konfigurasi batch Anda. Model ini cocok untuk skenario di mana data streaming ujung ke ujung diproses.

    • Event Mode: Pesan tunggal diteruskan ke fungsi sebagai parameter acara. Acara tersebut mengikuti spesifikasi CloudEvents. Untuk informasi tentang hubungan antara konten pesan dan CloudEvents, lihat Langkah 2: Konfigurasikan parameter input fungsi.

    Mode Acara

    Trigger State

    Menentukan apakah akan mengaktifkan pemicu segera setelah dibuat. Secara default, Enable Trigger dipilih dan pemicu diaktifkan setelah dibuat.

    N/A

    Untuk informasi lebih lanjut tentang konfigurasi lanjutan seperti dorongan pesan, pengulangan, dan konfigurasi surat mati, lihat Fitur Lanjutan Pemicu.

    Setelah pemicu dibuat, pemicu tersebut ditampilkan di tab Triggers. Untuk memodifikasi atau menghapus pemicu yang ada, lihat Kelola Pemicu.

Langkah 2: Konfigurasikan parameter input fungsi

Sumber acara Antrian Pesan Sederhana (sebelumnya MNS) diteruskan ke fungsi dalam bentuk event yang bertindak sebagai parameter input. Anda dapat secara manual meneruskan event ke fungsi untuk mensimulasikan acara pemicu dan menguji apakah kode fungsi benar.

  1. Pada halaman detail fungsi, klik tab Code dan klik ikon xialatubiao. Dari daftar drop-down yang muncul, pilih Configure Test Parameters.

  2. Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, dan tentukan Event Name dan isi acara. Setelah menentukan parameter, klik OK.

    Kode contoh event dalam mode acara:

    {
        "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"
        }
    }

    Kode contoh event dalam mode aliran acara:

    [
        {
        "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 menggambarkan parameter 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

    Tubuh 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. Saat acara yang dihasilkan oleh sumber acara kustom Antrian Pesan Sederhana (sebelumnya MNS) dikirim ke Function Compute menggunakan EventBridge, pemicu secara otomatis memicu eksekusi fungsi.

  1. Pada halaman detail fungsi, klik tab Code, edit kode fungsi di editor kode, lalu klik Deploy.

    Topik ini menggunakan kode fungsi Node.js sebagai contoh.

    'use strict';
    /*
    Untuk mengaktifkan fitur inisialisasi
    silakan implementasikan fungsi inisialisasi seperti berikut:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // Parsing parameter acara dan proses acara.
      callback(null, 'hasil pengembalian');
    }
  2. Klik tab Code dan klik Test Function.
    Setelah fungsi dieksekusi, Anda dapat melihat hasilnya di tab Kode.

Informasi tambahan

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