Déclencheurs de fonction

Après avoir créé et déployé votre fonction avec Cloud Run, vous pouvez la configurer pour qu'elle s'exécute en réponse à divers scénarios en spécifiant un déclencheur.

Cette page présente les déclencheurs compatibles avec les fonctions Cloud Run.

Types de déclencheurs

Par défaut, toutes les fonctions déployées sur Cloud Run sont des services Cloud Run déployés à partir de la source disposant d'un point de terminaison HTTP (URL run.app).

La manière dont votre fonction est appelée ou déclenchée dépend du type de fonction que vous spécifiez lorsque vous écrivez votre code.

  • Déclencheurs CloudEvent : réagissent aux événements de votre projet Google Cloud et correspondent aux fonctions CloudEvents (également appelées fonctions basées sur des événements). Vous devez utiliser Eventarc, l'implémentation de la spécification CloudEvents par Google, qui permet de créer des architectures basées sur des événements, pour déclencher des fonctions en réponse à des événements spécifiés.
  • Déclencheurs HTTP: réagissent aux requêtes HTTP(S) et correspondent aux fonctions HTTP. Vous pouvez utiliser d'autres servicesGoogle Cloud (autres que Eventarc) en tant que fournisseur d'événements pour appeler la fonction via des requêtes HTTP(S).

Pour déclencher une fonction afin qu'elle réagisse aux événements de votre projet Google Cloud , vous devez spécifier des déclencheurs lors du déploiement de la fonction dans la console Google Cloud ou après le déploiement de la fonction lorsque vous utilisez la gcloud CLI.

Vous ne pouvez pas lier la même fonction à plusieurs déclencheurs à la fois, mais le même événement peut entraîner l'exécution de plusieurs fonctions en déployant plusieurs fonctions avec les mêmes paramètres de déclencheur.

Exemples de déclencheurs

Voici des exemples de déclencheurs compatibles avec les fonctions Cloud Run:

Toutes les fonctions CloudEvents utilisent Eventarc pour la diffusion d'événements. Les déclencheurs Pub/Sub et Cloud Storage sont implémentés en tant que types particuliers de déclencheurs Eventarc.

Déclencheurs supplémentaires à l'aide de Pub/Sub et des webhooks

Cloud Run Functions pouvant être déclenché par des messages sur un sujet Pub/Sub, vous pouvez l'intégrer à n'importe quel service Google compatible avec Pub/Sub en tant que bus d'événement. En outre, l'utilisation de déclencheurs HTTP vous permet également de les intégrer à tout service fournissant des rappels HTTP (webhooks). Les sections suivantes décrivent quelques exemples d'intégrations.

Cloud Logging

Cloud Logging peut acheminer les journaux vers un sujet Pub/Sub, où ils peuvent être utilisés par Cloud Run Functions. Pour en savoir plus, consultez la page Configurer et gérer les récepteurs dans la documentation Cloud Logging.

Cloud Scheduler

Vous pouvez planifier une fonction HTTP en créant un job Cloud Scheduler qui déclenche une action à l'aide du protocole HTTP.

Vous pouvez également planifier une fonction CloudEvent lorsqu'elle doit être déclenchée directement en réponse à des événements au sein de votre projet Google Cloud . Par exemple, lorsqu'un message est publié dans un sujet Pub/Sub.

Cloud Tasks

Les tâches HTTP Target de Cloud Tasks vous permettent d'exécuter des gestionnaires de tâches sur n'importe quel point de terminaison HTTP. Vous pouvez donc utiliser une fonction HTTP avec un déclencheur HTTP comme gestionnaire de tâches. Vous pouvez également utiliser des tâches pour limiter les appels de fonction. Pour en savoir plus, consultez la section Créer des tâches HTTP Target dans la documentation Cloud Tasks.

Gmail

À l'aide de l'API Push Notification de Gmail, vous pouvez envoyer des événements Gmail à un sujet Pub/Sub et les utiliser avec Cloud Run.