All Products
Search
Document Center

Function Compute:Pemicu topik Message Queue for MNS

Last Updated:Apr 24, 2026

Simple Message Queue (formerly MNS) topik dapat berfungsi sebagai sumber event dan terintegrasi dengan EventBridge dan Function Compute. Pemicu topik Simple Message Queue (formerly MNS) secara otomatis menjalankan fungsi terkait ketika pesan baru dikirim ke topik Simple Message Queue (formerly MNS) Anda, sehingga memungkinkan penerapan pemrosesan kustom yang mudah untuk pesan masuk.

Informasi latar belakang

Message Queue for MNS adalah layanan messaging terdistribusi yang efisien, andal, aman, mudah digunakan, serta dapat diskalakan secara elastis. Layanan ini membantu pengembang aplikasi mengirimkan data dan notifikasi antar komponen terdistribusi serta membangun sistem yang loosely coupled. Di dalam Message Queue for MNS, topik merupakan tujuan tempat pesan dipublikasikan. Publisher dapat memanggil API PublishMessage untuk mempublikasikan pesan ke sebuah topik, dan subscriber topik tersebut akan menerima pesan tersebut. Untuk detail API, lihat PublishMessage.

Mengonfigurasi pemicu topik Simple Message Queue (formerly MNS) mendaftarkan fungsi Anda sebagai subscriber ke topik Simple Message Queue (formerly MNS). Ketika publisher mengirimkan pesan ke topik Simple Message Queue (formerly MNS), konten pesan tersebut dikirimkan ke fungsi untuk memicu eksekusinya. Konten pesan diteruskan sebagai parameter event ke penanganan fungsi. Untuk informasi lebih lanjut, lihat Informasi dasar.

Integrasi antara Message Queue for MNS dan Function Compute memberikan manfaat berikut:

  • Lakukan pemrosesan lanjutan pada pesan sebelum mengirimkannya melalui email atau SMS.

  • Anda tidak perlu meng-host layanan untuk endpoint HTTP.

  • Terapkan pemrosesan kustom yang kaya, seperti mengirim pesan ke Slack atau menyimpan pesan tertentu secara persisten.

Prasyarat

Catatan penggunaan

  • Topik di Message Queue for MNS dan fungsi di Function Compute harus berada di wilayah yang sama.

  • Hindari loop panggilan.

    Saat menulis kode fungsi, pastikan tidak terdapat logika berikut: Topik A memicu Fungsi B, dan Fungsi B mempublikasikan pesan baru ke Topik A. Hal ini dapat menyebabkan loop panggilan tak terbatas.

Langkah 1: Buat pemicu topik Message Queue for MNS

  1. Login ke Konsol Function Compute. Di panel navigasi kiri, pilih Function Management > Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi target.

  3. Di halaman detail fungsi, pilih tab Trigger, lalu klik Create Trigger.

  4. Di panel Create Trigger, konfigurasikan parameter, lalu klik OK.

    Parameter

    Tindakan

    Contoh

    Trigger Type

    Pilih Message Queue for MNS Topic Trigger - Asynchronous Invocation.

    Simple Message Queue (formerly MNS) topic trigger

    Name

    Masukkan nama pemicu kustom.

    trigger-mns

    Version or Alias

    Nilai default adalah LATEST. Jika ingin membuat pemicu untuk versi atau alias lain, alihkan terlebih dahulu ke versi atau alias tersebut di pojok kanan atas halaman detail fungsi. Untuk ikhtisar versi dan alias, lihat Manage versions dan Manage aliases.

    LATEST

    MNS region

    Pilih wilayah tempat topik berada. Topik Simple Message Queue (formerly MNS) dan fungsi Function Compute harus berada di wilayah yang sama.

    China (Chengdu)

    Topic

    Pilih topik dari daftar.

    Mytopic

    Filter tag

    Masukkan tag filter pesan.

    Fungsi hanya dipicu ketika menerima pesan yang mengandung tag filter yang ditentukan.

    tag

    Event format

    Pilih format event. Nilai yang valid:

    • STREAM

    • JSON

    JSON

    Retry policy

    Pilih kebijakan retry. Nilai yang valid:

    • Backoff Retry

    • Exponential decay retry

    Untuk panduan memilih kebijakan retry, lihat NotifyStrategy.

    Backoff Retry

    Role Name

    Pilih AliyunMNSNotificationRole.

    Catatan

    Jika ini pertama kalinya Anda membuat pemicu jenis ini, setelah mengklik OK, pilih Authorize Now di kotak dialog yang muncul.

    AliyunMNSNotificationRole

Langkah 2: Konfigurasi parameter input fungsi

  1. Di tab Code halaman detail fungsi, klik ikon image.png di samping Test Function dan pilih Configure Test Parameters dari daftar drop-down.

  2. Di panel Configure Test Parameters, pilih Create New Test Event atau Modify Existing Test Event. Masukkan nama event dan konten event, lalu klik OK.

    Pesan yang dipublikasikan ke topik Simple Message Queue (formerly MNS) diproses berdasarkan notifyContentFormat. Pesan yang telah diproses menjadi parameter event untuk penanganan fungsi. Untuk informasi lebih lanjut, lihat NotifyContentFormat.

    • Jika Anda mengatur Event Format ke STREAM saat membuat pemicu:

      • Jika pesan tidak mencakup atribut pesan (MessageAttributes), format event adalah sebagai berikut.

        Catatan

        Jika pesan tidak mencakup atribut pesan (MessageAttributes), konten event adalah isi pesan mentah dalam bentuk string.

        # Isi pesan.
        'hello topic'
      • Jika pesan mencakup atribut pesan (MessageAttributes), format event adalah sebagai berikut.

        Catatan

        Konten event mencakup pasangan kunci-nilai terkait MessageAttributes. Untuk informasi lebih lanjut, lihat PublishMessage.

            {
                "body": "hello topic",
                "attrs": {
                    "Extend": "{\\"key\\":\\"value\\"}"
                }
            }                    
    • Jika Anda mengatur Event Format ke JSON saat membuat pemicu:

      • Jika pesan tidak mencakup atribut pesan (MessageAttributes), format event adalah sebagai berikut.

            {
                "TopicOwner": "118620210433****",
                "Message": "hello topic",
                "Subscriber": "118620210433****",
                "PublishTime": 1550216480040,
                "SubscriptionName": "test-fc-subscribe",
                "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
                "TopicName": "Mytopic",
                "MessageId": "2F5B3C082B923D4EAC694B76D928****"
            }        
                                    
      • Jika pesan mencakup atribut pesan (MessageAttributes), format event adalah sebagai berikut.

        Catatan

        Konten event mencakup pasangan kunci-nilai terkait MessageAttributes. Untuk informasi lebih lanjut, lihat PublishMessage.

            {
                "key": "value",
                "TopicOwner": "118620210433****",
                "Message": "hello topic",
                "Subscriber": "118620210433****",
                "PublishTime": 1550216302888,
                "SubscriptionName": "test-fc-subscribe",
                "MessageMD5": "BA4BA9B48AC81F0F9C66F6C909C3****",
                "TopicName": "Mytopic",
                "MessageId": "2F5B3C281B283D4EAC694B742528****"
            }
                                    

    Tabel berikut menjelaskan bidang-bidang dalam parameter event.

    Parameter

    Tipe

    Contoh

    Deskripsi

    key

    String

    value

    Pasangan kunci-nilai dari atribut pesan.

    TopicOwner

    String

    118620210433****

    ID akun pemilik topik.

    Message

    String

    hello topic

    Isi pesan.

    Subscriber

    String

    118620210433****

    ID akun pengguna.

    PublishTime

    Int

    1550216302888

    Waktu saat pesan dipublikasikan.

    SubscriptionName

    String

    test-fc-subscribe

    Nama langganan.

    MessageMD5

    String

    BA4BA9B48AC81F0F9C66F6C909C3****

    Hash MD5 dari isi pesan.

    TopicName

    String

    Mytopic

    Nama topik.

    MessageId

    String

    2F5B3C281B283D4EAC694B742528****

    ID pesan.

Langkah 3: Tulis dan uji kode fungsi

Setelah membuat pemicu topik Simple Message Queue (formerly MNS), tulis dan uji kode fungsi Anda untuk memverifikasi bahwa fungsinya bekerja sesuai harapan.

  1. Di tab Code halaman detail fungsi, tulis kode di editor, lalu klik Deploy.

    Bagian ini menggunakan kode Python sebagai contoh. Anda dapat menggunakan kode contoh berikut sebagai templat untuk pemicu topik Simple Message Queue (formerly MNS).

    import json
    import logging
    
    def handler(event, context):
      logger = logging.getLogger()
      logger.info("mns_topic trigger event = {}".format(event))
      # Contohnya, catat event ke Tablestore.
      return "OK"                     
  2. Klik Test Function.

    Setelah eksekusi selesai, Anda dapat melihat hasil eksekusi di atas tab Code.

Informasi selengkapnya

Selain melalui Konsol Function Compute, Anda juga dapat mengonfigurasi pemicu dengan cara berikut:

  • Gunakan tool Serverless Devs untuk mengonfigurasi pemicu. Untuk informasi lebih lanjut, lihat Perintah umum Serverless Devs.

  • Gunakan SDK untuk mengonfigurasi pemicu. Untuk informasi lebih lanjut, lihat SDK.

Untuk memodifikasi atau menghapus pemicu, lihat Kelola pemicu.