Sans déclencheurs, vous devez appeler manuellement une fonction Function Compute — via la console, le SDK ou l'API — chaque fois que vous souhaitez qu'elle réponde à 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énement appelle automatiquement la fonction. Cela permet de créer des flux de travail pilotés par les événements sans écrire de logique d'interrogation ni de planification.
Fonctionnement des déclencheurs
Function Compute utilise un modèle piloté par les événements : une source d'événement agit en tant que producteur et une fonction en tant que processeur. Chaque déclencheur contient un ensemble de règles de correspondance. Lorsqu'un événement entrant satisfait ces règles, la source d'événement appelle la fonction associée.
Vous pouvez toujours appeler une fonction directement via la console Function Compute, le SDK ou l'API. Les déclencheurs répondent à un objectif distinct : une invocation automatique et sans intervention, pilotée par des événements provenant d'autres services Alibaba Cloud ou de systèmes externes.
Un déclencheur n'appelle qu'une seule fonction. Pour diffuser un déclencheur vers plusieurs fonctions, utilisez Function Compute avec CloudFlow. Configurez la fonction déclenchée pour démarrer un workflow CloudFlow, puis appelez des fonctions supplémentaires depuis ce workflow. Consultez la démo pour un exemple concret.
Cas d'utilisation
| Scénario | Déclencheur à utiliser | Ce qui se produit |
|---|---|---|
| Traiter les images dès leur téléchargement vers OSS | Déclencheur OSS | Détecte les nouveaux téléchargements et appelle la fonction pour télécharger, traiter et stocker le résultat |
| Analyser les journaux à mesure qu'ils arrivent dans Simple Log Service | Déclencheur Simple Log Service | Détecte les mises à jour des journaux et appelle la fonction pour consommer les données de journal incrémentielles |
| Exécuter une tâche selon un calendrier fixe (par exemple, collecter des données toutes les heures) | Déclencheur temporel | Déclenche automatiquement la fonction à l'intervalle spécifié |
Méthodes d'invocation
Chaque déclencheur appelle les fonctions soit de manière synchrone, soit de manière asynchrone.
Invocation synchrone : Le résultat est renvoyé une fois que la fonction a terminé le traitement de l'événement. L'appel d'une fonction depuis la console Function Compute est un exemple d'invocation synchrone.
Invocation asynchrone : Le résultat est renvoyé une fois que l'événement est écrit dans la file d'attente interne de Function Compute. Function Compute traite ensuite l'événement de manière fiable en arrière-plan.
Pour plus de détails, consultez Invocations synchrones.
Types de déclencheurs
Les déclencheurs sont regroupé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énement.
| Déclencheur | Méthode d'invocation | Références | |
|---|---|---|---|
| Déclencheurs HTTP | Synchrone et asynchrone | Vue d'ensemble | |
| Déclencheurs temporels | Asynchrone | Déclencheurs temporels | |
| Déclencheurs OSS | Asynchrone | Vue d'ensemble des déclencheurs d'événements OSS | |
| Déclencheurs Simple Log Service | Synchrone | Déclencheurs Simple Log Service | |
| Déclencheurs Alibaba Cloud CDN | Synchrone | Vue d'ensemble des déclencheurs d'événements Alibaba Cloud CDN | |
| Déclencheurs Tablestore | Synchrone | Déclencheurs Tablestore | |
| Déclencheurs de rubrique Simple Message Queue (anciennement MNS) | Asynchrone | Déclencheurs de rubrique 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 | Vue d'ensemble des déclencheurs de file d'attente Simple Message Queue (anciennement MNS) |
| Déclencheurs ApsaraMQ for RocketMQ / Apache RocketMQ autogé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énement.
| 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 nécessaire dans le service source d'événement 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 des déclencheurs d'événements pour les services Alibaba Cloud |