Simple Message Queue (SMQ, anciennement MNS) s'intègre à Function Compute (FC) pour concevoir des architectures événementielles. Les files d'attente et les topics SMQ servent de sources d'événements qui déclenchent automatiquement des fonctions lors de la réception de messages. FC peut également acheminer les résultats d'exécution vers des files d'attente ou des topics SMQ pour un traitement en aval.
Fonctionnement
SMQ et FC communiquent dans deux sens :
| Sens | Description |
|---|---|
| SMQ déclenche FC | Lorsqu'un message arrive dans une file d'attente ou un topic, SMQ évalue vos règles de déclenchement et appelle la fonction associée. |
| FC transmet les résultats à SMQ | SMQ reçoit les données générées pendant le traitement de la fonction ou les résultats via ses propres files d'attente ou topics, grâce aux destinations d'appel asynchrone. |
Déclencher des fonctions depuis des messages SMQ
Les files d'attente et les topics SMQ constituent des sources d'événements pour FC. Lorsqu'un message arrive et correspond aux règles de déclenchement définies, SMQ appelle automatiquement la fonction associée.
SMQ prend en charge deux types de déclencheurs :
| Type de déclencheur | Source d'événement | Instructions de configuration |
|---|---|---|
| Déclencheur de file d'attente | Messages envoyés à une file d'attente | Déclencheurs de file d'attente SMQ |
| Déclencheur de topic | Messages publiés sur un topic | Déclencheurs de topic SMQ |
Acheminer les résultats de fonction vers SMQ
SMQ reçoit les données générées pendant le traitement de la fonction ou les résultats via ses propres files d'attente ou topics, grâce aux destinations d'appel asynchrone.
Pour configurer cette option :
Ouvrez la console Function Compute.
Configurez l'appel asynchrone pour votre fonction et définissez SMQ comme service de destination.
Pour obtenir des instructions détaillées, consultez la rubrique Configurer le service de destination pour les appels asynchrones.
Exemple de code
Ces exemples Node.js illustrent l'envoi de messages depuis une fonction vers SMQ :