Sans déclencheur, vous devez invoquer manuellement une fonction Function Compute via la console, le SDK ou l'API à chaque réponse attendue à un événement externe. Les déclencheurs automatisent ce processus : lorsqu'un événement provenant d'un service connecté correspond aux règles définies, la source d'événements invoque automatiquement la fonction. Vous pouvez ainsi concevoir des workflows orientés événements sans écrire de logique d'interrogation ou de planification.
Fonctionnement des déclencheurs
Function Compute repose sur un modèle orienté événements : une source d'événements joue le rôle de producteur et une fonction assure le traitement. Chaque déclencheur contient un ensemble de règles de correspondance. Lorsqu'un événement entrant satisfait ces règles, la source d'événements invoque la fonction associée.
Vous pouvez également invoquer directement une fonction via la console Function Compute, le SDK ou l'API. Les déclencheurs répondent toutefois à un besoin spécifique : permettre une invocation automatique et autonome, pilotée par des événements issus d'autres services Alibaba Cloud ou de systèmes externes.
Un déclencheur unique ne peut invoquer qu'une seule fonction. Pour répartir un même déclencheur vers plusieurs fonctions, utilisez Function Compute avec CloudFlow. Configurez la fonction déclenchée pour démarrer un workflow CloudFlow, puis invoquez les fonctions supplémentaires depuis ce workflow. Consultez la démonstration pour un exemple fonctionnel.
Cas d'utilisation
| Scénario | Déclencheur à utiliser | Comportement |
|---|---|---|
| Traitement d'images lors de leur chargement vers OSS | Déclencheur OSS | Détecte les nouveaux chargements et invoque la fonction pour télécharger, traiter et stocker le résultat |
| Analyse de journaux dès leur arrivée dans Simple Log Service | Déclencheur Simple Log Service | Identifie les mises à jour des journaux et invoque la fonction pour consommer les données incrémentielles |
| Exécution d'une tâche selon une planification fixe (par exemple, collecte de données toutes les heures) | Déclencheur temporel | Déclenche automatiquement la fonction à l'intervalle spécifié |
Méthodes d'invocation
Chaque déclencheur invoque les fonctions de manière synchrone ou asynchrone.
Invocation synchrone : Le résultat est renvoyé une fois que la fonction a terminé le traitement de l'événement. L'invocation d'une fonction depuis la console Function Compute constitue un exemple d'invocation synchrone.
Invocation asynchrone : Le résultat est renvoyé après l'écriture de l'événement dans la file d'attente interne de Function Compute. Le service traite ensuite l'événement en arrière-plan de manière fiable.
Pour plus de détails, consultez Invocations synchrones.
Types de déclencheurs
Les déclencheurs sont classés selon leur mode d'intégration avec les sources d'événements.
Déclencheurs à intégration bidirectionnelle
Configurez ces déclencheurs à la fois dans Function Compute et dans le service source d'événements.
| Déclencheur | Méthode d'invocation | Références | |
|---|---|---|---|
| Déclencheurs HTTP | Synchrone et asynchrone | Présentation | |
| Déclencheurs temporels | Asynchrone | Déclencheurs temporels | |
| Déclencheurs OSS | Asynchrone | Présentation des déclencheurs d'événements OSS | |
| Déclencheurs Simple Log Service | Synchrone | Déclencheurs Simple Log Service | |
| Déclencheurs Alibaba Cloud CDN | Synchrone | Présentation des déclencheurs d'événements Alibaba Cloud CDN | |
| Déclencheurs Tablestore | Synchrone | Déclencheurs Tablestore | |
| Déclencheurs de topic Simple Message Queue (anciennement MNS) | Asynchrone | Déclencheurs de topic Simple Message Queue (anciennement MNS) | |
|
Déclencheurs basés sur EventBridge |
Déclencheurs de file d'attente Simple Message Queue (anciennement MNS) (basés sur EventBridge) | Synchrone et asynchrone | Présentation des déclencheurs de file d'attente Simple Message Queue (anciennement MNS) |
| Déclencheurs ApsaraMQ for RocketMQ / Apache RocketMQ auto-géré | Synchrone et asynchrone | Déclencheurs ApsaraMQ for RocketMQ | |
| Déclencheurs ApsaraMQ for RabbitMQ | Synchrone et asynchrone | Déclencheurs ApsaraMQ for RabbitMQ | |
| Déclencheurs ApsaraMQ for Kafka | Synchrone et asynchrone | Déclencheurs ApsaraMQ for Kafka | |
| Déclencheurs ApsaraMQ for MQTT | Synchrone et asynchrone | Déclencheurs ApsaraMQ for MQTT | |
| Déclencheurs Data Transmission Service (DTS) | Synchrone et asynchrone | Déclencheurs DTS | |
Déclencheurs à intégration unidirectionnelle
Configurez ces déclencheurs uniquement dans Function Compute, et non dans la source d'événements.
| Déclencheur | Méthode d'invocation | Références |
|---|---|---|
| Déclencheurs API Gateway | Synchrone | Déclencheurs API Gateway et Déclencheurs Cloud-native API Gateway |
| Déclencheurs ALB | Synchrone et asynchrone | Déclencheurs ALB |
Déclencheurs d'événements pour les services Alibaba Cloud
Configurez ces déclencheurs dans Function Compute et EventBridge. Aucune configuration n'est requise dans le service source d'événements lui-même.
| Déclencheur | Méthode d'invocation | Références |
|---|---|---|
| Déclencheurs d'événements pour les services Alibaba Cloud | Synchrone et asynchrone | Configurer les déclencheurs d'événements pour les services Alibaba Cloud |