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:
Déclencheurs CloudEvent:
- Événements Pub/Sub déclenchés par Eventarc
- Événements Cloud Storage déclenchés par Eventarc
- Événements Firestore déclenchés par Eventarc
- Déclencheurs Eventarc généraux
- Compatible avec tous les types d'événements compatibles avec Eventarc, y compris plus de 90 sources d'événements à l'aide de Cloud Audit Logs
Déclencheurs HTTP:
- Appeler avec une requête HTTP
- Appeler des services dans le cadre d'un workflow avec Workflows
- Appeler des services selon un calendrier avec Cloud Scheduler
- Utiliser Cloud Tasks pour exécuter des tâches asynchrones
- Déclencher des services à partir d'un abonnement push Pub/Sub
- Notez que les messages Pub/Sub peuvent être acheminés directement vers une fonction via des requêtes HTTP ou encapsulés sous Eventarc en tant que déclencheur CloudEvent.
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.