Tous les produits
Search
Centre de documentation

Function Compute:Déclencheurs Apache RocketMQ auto-gérés

Dernière mise à jour :Aug 12, 2026

Connectez un cluster Apache RocketMQ auto-géré à Function Compute via EventBridge afin de traiter les messages avec votre propre code de fonction. Lorsqu'un message arrive dans votre topic RocketMQ, le déclencheur invoque automatiquement votre fonction en lui transmettant un ou plusieurs messages par invocation, selon votre configuration de traitement par lots.

Fonctionnement

Lorsque vous créez un déclencheur dans Function Compute, le service génère automatiquement un flux d'événements correspondant dans EventBridge, conformément à votre configuration. Consultez les détails du déclencheur dans la console Function Compute et les ressources créées automatiquement dans la console EventBridge.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Limites

  • L'instance RocketMQ doit être accessible via Internet public ou depuis un Virtual Private Cloud (VPC) Alibaba Cloud.

  • Si l'accès s'effectue depuis un VPC, celui-ci doit se trouver dans la même région que votre fonction. Vérifiez que le groupe de sécurité autorise le trafic entrant sur le port NameServer de RocketMQ (par défaut : 9876).

  • Le nombre de déclencheurs RocketMQ est limité par le quota de flux d'événements EventBridge. Pour plus de détails, consultez la rubrique Limites.

Étape 1 : Créer un déclencheur

  1. Connectez-vous à la console Function Compute. Dans le volet de navigation de gauche, cliquez sur Functions.

  2. Dans la barre de navigation supérieure, sélectionnez une région. Sur la page Functions, cliquez sur la fonction à gérer.

  3. Sur la page de détails de la fonction, cliquez sur l'onglet Trigger, puis sur Create Trigger.

  4. Dans le panneau Create Trigger, configurez les paramètres décrits dans le tableau suivant, puis cliquez sur OK.

Paramètre Description Obligatoire Valeur par défaut Exemple
Trigger type Sélectionnez Self-built Apache RocketMQ. Oui Self-built Apache RocketMQ
Name Saisissez un nom pour le déclencheur. Oui apache-rocketmq-trigger
Version or alias Version ou alias de la fonction à associer au déclencheur. Pour utiliser une version ou un alias spécifique, basculez-y d'abord depuis la page de détails de la fonction. Consultez Gérer les versions et Gérer les alias. Non LATEST LATEST
Endpoint Adresse NameServer de votre cluster RocketMQ. Oui 192.168.X.X:9876
Topic Topic de votre instance RocketMQ depuis lequel consommer les messages. Oui testTopic
Group ID ID du groupe de consommateurs dans votre instance RocketMQ. Oui testGroup
Filter type Méthode de filtrage des messages : Tag filtre par tag ; SQL filtre selon une expression SQL correspondant aux propriétés et valeurs des messages. Oui Tag
Filter Expression de filtre correspondant au type de filtre sélectionné. Oui TagA
Authentication mode Mode d'authentification. Seul ACL est pris en charge. Oui ACL
Username Nom d'utilisateur ACL. Obligatoire lorsque le paramètre Authentication mode est défini sur ACL. Oui admin
Password Mot de passe ACL. Obligatoire lorsque le paramètre Authentication mode est défini sur ACL. Oui
Consumer offset Point de départ de la consommation des messages : Latest offset commence au message le plus récent ; Earliest offset commence au message le plus ancien ; Timestamp commence à un instant précis. Oui Latest offset
Networking Type de réseau pour la connexion à votre cluster RocketMQ : Internet accède au cluster via Internet public ; VPC accède au cluster via un VPC (nécessite la sélection du VPC, du vSwitch et du groupe de sécurité). Oui Internet
Invocation method Méthode d'invocation de la fonction par le déclencheur : Sync invocation attend la fin de l'exécution de la fonction et renvoie le résultat (consultez Invocations synchrones) ; Async invocation renvoie une réponse immédiate sans attendre le résultat, ce qui convient aux fonctions de longue durée (consultez Présentation des invocations asynchrones). Non Sync invocation Sync invocation
Trigger state Activation ou non du déclencheur immédiatement après sa création. Non Enabled Enabled

Pour les paramètres avancés tels que les configurations de push, les politiques de nouvelle tentative et les files d'attente de lettres mortes, consultez la rubrique Fonctionnalités avancées des déclencheurs.

Une fois créé, le déclencheur apparaît sous l'onglet Triggers. Pour le modifier ou le supprimer, consultez la rubrique Gérer les déclencheurs.

Étape 2 : Configurer un événement de test

Le déclencheur transmet les messages de RocketMQ à votre fonction sous forme de tableau d'objets d'événement. Simulez une invocation du déclencheur en configurant manuellement un événement de test.

  1. Dans l'onglet Code de la page de détails de la fonction, cliquez sur l'icône image.png située à côté de Test Function, puis sélectionnez Configure Test Parameters.

  2. Dans le panneau Configure Test Parameters, sélectionnez Create new test event ou Modify existing test event. Saisissez un nom d'événement, collez le contenu de l'événement ci-dessous, puis cliquez sur OK.

[
  {
    "msgId": "7F0000010BDD2A84AEE70DA49B57****",
    "topic": "testTopic",
    "systemProperties": {
      "UNIQ_KEY": "7F0000010BDD2A84AEE70DA49B57****",
      "CLUSTER": "DefaultCluster",
      "MIN_OFFSET": "0",
      "TAGS": "TagA",
      "MAX_OFFSET": "128"
    },
    "userProperties": {},
    "body": "Hello RocketMQ"
  }
]

Chaque objet du tableau représente un message RocketMQ. Les champs sont décrits ci-dessous.

Champ Type Description Exemple
msgId String ID du message attribué par Apache RocketMQ. 7F0000010BDD2A84AEE70DA49B57****
topic String Nom du topic. testTopic
systemProperties Map Propriétés système définies par RocketMQ.
systemProperties.UNIQ_KEY String Clé unique du message. 7F0000010BDD2A84AEE70DA49B57****
systemProperties.CLUSTER String Nom du cluster RocketMQ. DefaultCluster
systemProperties.MIN_OFFSET Integer Offset minimum dans la file d'attente du topic. 0
systemProperties.MAX_OFFSET Integer Offset maximum dans la file d'attente du topic. 128
systemProperties.TAGS String Tag de filtre appliqué au message. TagA
userProperties Map Propriétés personnalisées définies par le producteur du message. {}
body String Corps du message. Hello RocketMQ

Étape 3 : Écrire et tester le code de la fonction

Après la création du déclencheur, écrivez le code de votre fonction pour traiter les messages entrants. En environnement de production, le déclencheur invoque automatiquement la fonction dès que RocketMQ reçoit un nouveau message.

  1. Dans l'onglet Code de la page de détails de la fonction, écrivez votre code dans l'éditeur, puis cliquez sur Deploy. L'exemple Node.js suivant lit l'événement et renvoie un résultat :

    'use strict';
    /*
    To enable the initializer feature,
    implement the initializer function as shown below:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      // Parse the event and process each message.
      callback(null, 'return result');
    }
  2. Cliquez sur Test Function pour exécuter l'événement de test configuré à l'étape précédente.

Étapes suivantes

Outre la console Function Compute, configurez et gérez les déclencheurs à l'aide des outils suivants :

Pour modifier ou supprimer un déclencheur existant, consultez la rubrique Gérer les déclencheurs.