Tüm Ürünler
Search
Belge Merkezi

Function Compute:Simple Message Queue (eski adıyla MNS) kuyruk tetikleyicileri

Son Güncelleme:Oct 08, 2026

Simple Message Queue (eski adıyla MNS) kuyruk tetikleyicileri, bir kuyruğa mesaj geldiğinde Function Compute işlevinizi otomatik olarak çalıştırır. Tetikleyici EventBridge tarafından desteklenir: Function Compute konsolunda tetikleyiciyi oluşturduğunuzda, Function Compute gerekli olay akışlarını sizin adınıza EventBridge üzerinde oluşturur. Olay akışları hakkında daha fazla bilgi için bkz. Overview.

Tetikleyici etkinleştirildikten sonra kaynak kuyruğa eklenen her mesaj ilişkili işlevi çalıştırır. Mesajlar, toplu iş yapılandırmanıza bağlı olarak tek tek veya toplu halde teslim edilir. Bu desen, uçtan uca akış veri işlemesi için uygundur.

Kısıtlamalar

  • Simple Message Queue (eski adıyla MNS) kuyruğu ve Function Compute işlevi aynı bölgede bulunmalıdır.

  • Alibaba Cloud hesabınız EventBridge olay akışı sınırına ulaşırsa ek Simple Message Queue (eski adıyla MNS) kuyruk tetikleyicileri oluşturamazsınız. Geçerli sınırlar için bkz. Limits.

Önkoşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

Adım 1: Tetikleyici oluşturun

  1. Function Compute konsoluna giriş yapın ve kullanmak istediğiniz işlevi tıklayın.

  2. İşlev ayrıntıları sayfasında Configurations sekmesini tıklayın, ardından Triggers bölümüne gidin ve Create Trigger seçeneğini tıklayın.

  3. Tetikleyici ayarlarını doldurun. Anahtar alan Invocation Method değeridir. Ayrıntılar için bkz. Synchronous invocation ve Asynchronous invocation.

    Çağrı yöntemi Davranış Maksimum yük Ne zaman kullanılır
    Sync Invocation Function Compute, sonraki olayı veya toplu işi teslim etmeden önce işlevin yanıt dönmesini bekler 32 MB Sıra veya sıralı işleme önemlidir
    Async Invocation Function Compute olayı teslim eder ve hemen sonrakine geçer; işlev arka planda çalışır 128 KB Olayları hızlı bir şekilde tüketmek istediğiniz yüksek aktarım hızı senaryoları
  4. OK seçeneğini tıklayın.

image

Gönderme ayarları, yeniden deneme ilkeleri ve başarısız mektup kuyrukları gibi gelişmiş ayarlar için bkz. Advanced features of triggers.

Tetikleyici oluşturulduktan sonra Triggers sekmesinde görünür. Tetikleyiciyi değiştirmek veya silmek için bkz. Manage triggers.

Adım 2: (İsteğe bağlı) Test parametrelerini yapılandırın

İşlev, Simple Message Queue (eski adıyla MNS) olaylarını CloudEvents biçimindeki nesnelerden oluşan bir dizi olan event parametresi olarak alır. Gerçek bir mesaj göndermeden işlev kodunuzu test etmek için olayı manuel olarak simüle edin.

  1. Code sekmesinde, Test Function öğesinin yanındaki image.png simgesini tıklayın ve Configure Test Parameters seçeneğini belirleyin.

  2. Configure Test Parameters panelinde Create New Test Event veya Modify Existing Test Event seçeneklerinden birini tıklayın, bir olay adı girin ve aşağıdaki olay içeriğini ekleyin, ardından OK seçeneğini tıklayın.

Örnek event yükü:

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

Olay alanı referansı

Dizideki her öğe CloudEvents specification standardını takip eder.

CloudEvents zarf alanları

Alan Tür Örnek Açıklama
id String c2g71017-6f65-fhcf-a814-a396fc8d**** Benzersiz olay kimliği
source String MNS-Function-mnstrigger Olay kaynağı tanımlayıcısı (olay veri yolu adı)
type String mns:Queue:SendMessage Olay türü
subject String acs:mns:cn-hangzhou:...:queues/zeus Kaynak kuyruğun ARN değeri
time String 2021-04-08T06:28:17.093Z Mesajın kuyruğa eklendiği saat (ISO 8601)
specversion String 1.0 CloudEvents teknik özellikler sürümü
datacontenttype String application/json; charset=utf-8 data alanının içerik türü
aliyunregionid String cn-chengdu Kuyruğun bulunduğu bölge
aliyunaccountid String 164901546557**** Alibaba Cloud hesap kimliği
aliyunpublishtime String 2021-10-15T07:06:34.028Z EventBridge'in olayı yayınladığı saat

data alanları

Alan Tür Örnek Açıklama
requestId String 606EA3074344430D4C81**** Mesaj gönderme isteğinin benzersiz kimliği
messageId String C6DB60D1574661357FA227277445**** Mesajın benzersiz kimliği
messageBody String TEST Mesaj gövdesi içeriği

Adım 3: İşlevi yazın ve test edin

Tetikleyici oluşturulduktan sonra işlev kodunuzu yazın, dağıtın ve ardından tetikleyicinin uçtan uca çalıştığını doğrulayın.

İşlev kodunu yazın ve dağıtın

Code sekmesinde işleyicinizi yazın ve Deploy Code seçeneğini tıklayın.

Aşağıdaki Node.js örneği, işlev kodunun nasıl yazılacağını gösterir:

'use strict';
/*
To enable the initializer feature
please implement the initializer function as below:
exports.initializer = (context, callback) => {
  console.log('initializing');
  callback(null, '');
};
*/
exports.handler = (event, context, callback) => {
  console.log("event: %s", event);
  // Parse and process event.
  callback(null, 'return result');
}

İşlevi test edin

Aşağıdaki yöntemlerden birini kullanın:

  • Simüle edilmiş olay: 2. Adımda bir test olayı yapılandırdıysanız, Code sekmesinde Test Function seçeneğini tıklayın.

  • Gerçek mesaj: Simple Message Queue (eski adıyla MNS) konsoluna giriş yapın, kaynak kuyruğu seçin ve Send Message seçeneğini tıklayın.

image

İşlev çalıştıktan sonra çıktıyı Real-time Logs bölümünde görüntüleyin.

image

Sonraki adımlar