Tüm Ürünler
Search
Belge Merkezi

Function Compute:RocketMQ tetikleyicileri

Son Güncelleme:Oct 08, 2026

ApsaraMQ for RocketMQ, EventBridge aracılığıyla bir olay kaynağı olarak Function Compute ile entegre edildiğinde ApsaraMQ for RocketMQ tetikleyicisi (kısaca RocketMQ tetikleyicisi) ilişkili işlevi çağırır. Bu işlev, ApsaraMQ for RocketMQ'ya yayımlanan mesajları özel yöntemlerle işlemeye olanak tanır. Bu konuda Function Compute konsolunda RocketMQ tetikleyicisinin nasıl oluşturulacağı, işlev giriş noktası parametrelerinin nasıl yapılandırılacağı ve işlev kodunun nasıl yazılıp test edileceği açıklanmaktadır.

Nasıl çalışır?

Function Compute konsolunda tetikleyici oluşturma isteği gönderdiğinizde Function Compute, tetikleyici yapılandırmasına göre EventBridge'de otomatik olarak bir Olay akışı kaynağı oluşturur.

Tetikleyiciyi oluşturduktan sonra Function Compute konsolunda tetikleyici bilgilerini ve EventBridge konsolunda otomatik olarak oluşturulan kaynakları görüntüleyebilirsiniz. Kaynak ApsaraMQ for RocketMQ örneğine bir mesaj kuyruğa alındığında Function Compute çağrılır. Her çağrı sırasında toplu iş yapılandırmanıza bağlı olarak bir veya daha fazla mesaj olayı toplu halde işleve gönderilir. Bu davranış uçtan uca akış veri işleme senaryolarına uygundur.

Kullanım notları

  • Olay kaynağı olarak kullanılan ApsaraMQ for RocketMQ örneği Function Compute işleviyle aynı bölgede bulunmalıdır.

  • Oluşturulan olay akışı sayısı üst sınırı aşarsa artık RocketMQ tetikleyicisi oluşturamazsınız.

Tek bir Alibaba Cloud hesabında ve tek bir bölgede tetikleyici oluşturmak için kullanılan kaynak sayısının sınırları hakkında bilgi edinmek için bkz. Sınırlar.

Ön koşullar

Adım 1: Tetikleyici oluşturma

  1. Function Compute konsoluna oturum açın, yönetmek istediğiniz işlevi bulun, ardından işlev ayrıntıları sayfasında Trigger sekmesine tıklayın ve Create Trigger seçeneğine tıklayın.

  2. Tetikleyici Oluştur panelinde Trigger Type değerini ApsaraMQ for RocketMQ olarak ayarlayın, aşağıdaki tabloda açıklanan parametreleri yapılandırın ve ardından OK seçeneğine tıklayın.

Parametre Açıklama Örnek
Name Özel bir tetikleyici adı girin. rocketmq-trigger
Version or Alias Varsayılan değer: LATEST. Başka bir sürüm veya takma ad için tetikleyici oluşturmak üzere öncelikle işlev ayrıntıları sayfasının sağ üst köşesinde ilgili sürüme veya takma ada geçiş yapın. Sürümler ve takma adlar hakkında bilgi edinmek için bkz. Sürümler ve Takma Adlar. LATEST
ApsaraMQ for RocketMQ Instance Mevcut bir ApsaraMQ for RocketMQ örneği seçin. rmq-zky****
Topic Mevcut ApsaraMQ for RocketMQ örneğinin bir konusunu seçin. topic1
Etiket Bir mesaj filtre etiketi girin. İşlev yalnızca bu filtre etiketini taşıyan bir mesaj alındığında çağrılır. tag
Grup Kimliği Hızlıca bir grup kimliği oluşturun veya mevcut olanı seçin. Mesaj gönderme ve alma işlemlerini etkilememek için grup kimliğini mevcut bir işletme ile paylaşmayın. GID_FC_TRIGGER_****
Consumer Offset EventBridge'in mesajları çekmeye başladığı konum olan ApsaraMQ for RocketMQ mesajlarının tüketici ofsetini seçin. Geçerli değerler: Latest Offset: en son ofsetten tüketir. Earliest Offset: en eski ofsetten tüketir. Timestamp: belirtilen zaman damgasından tüketir. Latest Offset
Invocation Method İşlevin nasıl çağrılacağını seçin. Geçerli değerler: Sync Invocation: sıralı çağrı senaryolarına uygundur. Tek bir olay veya toplu iş işlevi çağırır ve sonraki olay veya toplu iş yalnızca geçerli çağrı bir sonuç döndürdükten sonra işlevi çağırır. Eşzamanlı bir çağrı istek gövdesinin maksimum yükü 32 MB'tır. Daha fazla bilgi edinmek için bkz. Eşzamanlı çağrı. Async Invocation: olayları hızlı bir şekilde tüketir. Tek bir olay veya toplu iş işlevi çağırır, Function Compute hemen bir yanıt döndürür ve sonraki olay veya toplu iş işlevi çağırır. İşlev bu süreçte eşzamansız olarak çalışır. Eşzamansız bir çağrı istek gövdesinin maksimum yükü 128 KB'tır. Daha fazla bilgi edinmek için bkz. Eşzamansız çağrı. Sync Invocation

Gönderim yapılandırması, yeniden deneme ilkeleri ve dead-letter queues gibi gelişmiş ayarlar hakkında bilgi edinmek için bkz. Tetikleyicilerin gelişmiş özellikleri.

Adım 2: (İsteğe bağlı) İşlev giriş parametrelerini yapılandırma

ApsaraMQ for RocketMQ olay kaynağı işleve bir event giriş parametresi olarak iletilir. event parametresini ayrıştırmak ve işlemek için kodunuzu kullanın. Tetikleyici olayını simüle etmek ve işlev kodunun doğru olup olmadığını kontrol etmek amacıyla işleve manuel olarak bir event aktarabilirsiniz.

  1. İşlev ayrıntıları sayfasının Code sekmesinde Test Function öğesinin yanındaki image.png simgesine tıklayın ve açılan listeden Configure Test Parameters seçeneğini belirleyin.

  2. Configure Test Parameters panelinde Create New Test Event veya Modify Existing Test Event seçeneğini belirleyin, bir olay adı ve olay içeriği girin ve ardından Tamam'a tıklayın.

event biçimi aşağıdaki gibidir.

[
    {
    "id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
    "source":"RocketMQ-Function-rocketmq-trigger",
    "specversion":"1.0",
    "type":"mq:Topic:SendMessage",
    "datacontenttype":"application/json; charset=utf-8",
    "subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
    "time":"2021-04-08T06:01:20.766Z",
    "aliyunaccountid":"164901546557****",
    "aliyunpublishtime":"2021-10-15T02:05:16.791Z",
    "aliyunoriginalaccountid":"164901546557****",
    "aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
    "aliyunregionid":"cn-chengdu",
    "aliyunpublishaddr":"42.120.XX.XX",
    "data":{
        "topic":"TopicName",
        "systemProperties":{
            "MIN_OFFSET":"0",
            "TRACE_ON":"true",
            "MAX_OFFSET":"8",
            "MSG_REGION":"cn-hangzhou",
            "KEYS":"systemProperties.KEYS",
            "CONSUME_START_TIME":1628577790396,
            "TAGS":"systemProperties.TAGS",
            "INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
        },
        "userProperties":{

        },
        "body":"TEST"
    }
    },
    {
    "id":"94ebc15f-f0db-4bbe-acce-56fb72fb****",
    "source":"RocketMQ-Function-rocketmq-trigger",
    "specversion":"1.0",
    "type":"mq:Topic:SendMessage",
    "datacontenttype":"application/json; charset=utf-8",
    "subject":"acs:mq:cn-hangzhou:164901546557****:MQ_INST_164901546557****_BXhFHryi%TopicName",
    "time":"2021-04-08T06:01:20.766Z",
    "aliyunaccountid":"164901546557****",
    "aliyunpublishtime":"2021-10-15T02:05:16.791Z",
    "aliyunoriginalaccountid":"164901546557****",
    "aliyuneventbusname":"RocketMQ-Function-rocketmq-trigger",
    "aliyunregionid":"cn-chengdu",
    "aliyunpublishaddr":"42.120.XX.XX",
    "data":{
        "topic":"TopicName",
        "systemProperties":{
            "MIN_OFFSET":"0",
            "TRACE_ON":"true",
            "MAX_OFFSET":"8",
            "MSG_REGION":"cn-hangzhou",
            "KEYS":"systemProperties.KEYS",
            "CONSUME_START_TIME":1628577790396,
            "TAGS":"systemProperties.TAGS",
            "INSTANCE_ID":"MQ_INST_164901546557****_BXhFHryi"
        },
        "userProperties":{

        },
        "body":"TEST"
    }
    }
]

Aşağıdaki tabloda data alanında bulunan parametreler açıklanmaktadır. CloudEvents belirtiminde tanımlanan parametreler hakkında bilgi edinmek için bkz. Genel Bakış.

Alan Tür Örnek Açıklama
topic Dize TopicName Konu adı.
systemProperties Harita RocketMQ sistem düzeyindeki mesaj özellikleri.
systemProperties.MIN_OFFSET Tamsayı 0 Kuyruktaki en eski ofset.
systemProperties.TRACE_ON Boolean true Bir mesaj izinin var olup olmadığı.
systemProperties.MAX_OFFSET Tamsayı 8 Kuyruktaki en son ofset.
systemProperties.MSG_REGION Dize cn-hangzhou Mesajın gönderildiği bölge.
systemProperties.KEYS Dize systemProperties.KEYS Mesajı filtrelemek için kullanılan anahtarlar.
systemProperties.CONSUME_START_TIME Uzun 1628577790396 Milisaniye cinsinden mesaj tüketiminin başlangıç zamanı.
systemProperties.UNIQ_KEY Dize AC14C305069E1B28CDFA3181CDA2**** Mesajın benzersiz anahtarı.
systemProperties.TAGS Dize systemProperties.TAGS Mesajı filtrelemek için kullanılan etiketler.
systemProperties.INSTANCE_ID Dize MQ_INST_123456789098****_BXhFHryi ApsaraMQ for RocketMQ örnek kimliği.
userProperties Harita Kullanıcı özellikleri.
body Dize TEST Mesaj gövdesi.

Adım 3: İşlev kodunu yazma ve test etme

Tetikleyiciyi oluşturduktan sonra kodun doğru olduğunu doğrulamak için işlev kodunu yazın ve test edin. Pratikte bir ApsaraMQ for RocketMQ olayı EventBridge aracılığıyla Function Compute'e iletildiğinde tetikleyici işlevi otomatik olarak çağırır.

  1. İşlev ayrıntıları sayfasının Code sekmesinde kod düzenleyicide kodunuzu yazın ve ardından Deploy seçeneğine tıklayın.

    Bu konuda Node.js işlev kodu örnek olarak kullanılmıştır.

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

    Yöntem 1: Olay kaynağını simüle etmek için event işlev giriş parametresini yapılandırdıysanız Test Function seçeneğine tıklayın.

    Yöntem 2: ApsaraMQ for RocketMQ konsoluna oturum açın, kullanmak istediğiniz ApsaraMQ for RocketMQ örneğinin konusunu bulun, Message Send/Receive Test seçeneğine tıklayın ve ardından talimatlara göre bir mesaj gönderin.

  3. Çalıştırma tamamlandıktan sonra işlev ayrıntıları sayfasının Code sekmesinde sonucu görüntülemek için Real-time Logs seçeneğine tıklayın.