Événements et déclencheurs

Cette page décrit le concept des événements dans le contexte de Google Cloud Functions. Elle explique également comment créer et associer des déclencheurs à des fonctions afin qu'elles s'exécutent lorsqu'un événement a lieu.

Événements

Les événements sont des éléments qui se produisent dans votre environnement cloud et sur lesquels vous pouvez agir. Il peut s'agir de modifications apportées aux données d'une base de données, de l'ajout de fichiers à un système de stockage ou de la création d'une instance de machine virtuelle. Actuellement, Cloud Functions est compatible avec les événements des fournisseurs suivants :

Pour obtenir des exemples d'association de déclencheurs avec des fonctions afin qu'elles s'exécutent lorsqu'un événement a lieu, consultez les tutoriels.

Données d'événement

Lorsqu'un événement déclenche l'exécution d'une fonction Cloud Functions, les données associées à l'événement sont transmises via les paramètres de la fonction. Le type d'événement détermine les paramètres transmis à la fonction. Les événements de requêtes HTTP déclenchent des fonctions HTTP et les autres types d'événements déclenchent des fonctions d'arrière-plan.

Node.js 8+

Dans les environnements d'exécution Node.js 8 et Node.js 10, les fonctions utilisent les paramètres suivants :

  • Fonctions HTTP

    Votre fonction reçoit les paramètres ExpressJS (request, response). Utilisez le paramètre response pour envoyer une réponse.

  • Fonctions d'arrière-plan

    Votre fonction reçoit les paramètres (data, context, callback). Consultez la page Fonctions d'arrière-plan pour en savoir plus sur ces paramètres.

Node.js 6 (obsolète)

Dans l'environnement d'exécution Node.js 6, les fonctions utilisent les paramètres suivants :

  • Fonctions HTTP

    Votre fonction reçoit les paramètres ExpressJS (request, response). Utilisez le paramètre response pour envoyer une réponse.

  • Fonctions d'arrière-plan

    Votre fonction reçoit les paramètres (event, callback). Consultez la page Fonctions d'arrière-plan pour en savoir plus sur ces paramètres.

Python

Dans l'environnement d'exécution Python, les fonctions utilisent les paramètres suivants :

  • Fonctions HTTP

    Votre fonction reçoit un seul paramètre, (request), à savoir un objet Flask Request. Celui-ci affiche toute valeur de votre fonction pouvant être traitée avec la méthode Flask make_response. Le résultat est une réponse HTTP.

  • Fonctions d'arrière-plan

    Votre fonction reçoit les paramètres (data, context). Consultez la page Fonctions d'arrière-plan pour en savoir plus sur ces paramètres.

Go

Dans l'environnement d'exécution Go, les fonctions utilisent les paramètres suivants :

Déclencheurs

La création d'une réponse à un événement se fait via un déclencheur. Un déclencheur vous permet d'indiquer que vous souhaitez surveiller un ou plusieurs événements. En associant une fonction à un déclencheur, vous pouvez détecter des événements et agir en conséquence.

Vous trouverez ci-dessous un tableau des types de déclencheurs disponibles et des options utilisées pour les spécifier lors du déploiement avec la ligne de commande :

Déclencheur Indicateur de ligne de commande
HTTP --trigger-http
Google Cloud Pub/Sub --trigger-topic TOPIC_NAME
Autres sources (par exemple, Firebase) --trigger-event EVENT_TYPE --trigger-resource RESOURCE

Pour en savoir plus sur les options de ligne de commande, consultez la documentation de référence sur gcloud functions deploy.

La liaison des déclencheurs aux fonctions se produit au moment du déploiement via l'outil de ligne de commande gcloud, l'interface utilisateur ou l'API Cloud Functions. Un déclencheur est lié à une ou plusieurs fonctions. En d'autres termes, vous ne pouvez pas lier la même fonction à plusieurs déclencheurs à la fois. Vous pouvez, cependant, utiliser le même déclencheur pour plusieurs fonctions, en déployant simplement deux fonctions différentes avec le même déclencheur.