Déclencheurs Pub/Sub (1re génération)
Dans Cloud Run Functions, un déclencheur Pub/Sub permet d'appeler une fonction en réponse aux messages Pub/Sub. Lorsque vous spécifiez un déclencheur Pub/Sub pour une fonction, vous spécifiez également un sujet Pub/Sub. Votre fonction est appelée chaque fois qu'un message est publié dans le sujet spécifié.
Pour qu'une fonction utilise un déclencheur Pub/Sub, elle doit être mise en œuvre en tant que fonction basée sur les événements :
Si vous utilisez une fonction CloudEvent, les données d'événement Pub/Sub sont transmises à votre fonction au format CloudEvents et la charge utile des données CloudEvent est de type
MessagePublishedData
.Si vous utilisez une fonction d'arrière-plan, la charge utile des données d'événement Pub/Sub est transmise directement à votre fonction dans le format
PubsubMessage
.
Le dépôt Google Events contient des ressources supplémentaires sur l'utilisation des données d'événement.
Déploiement
Vous pouvez spécifier un déclencheur Pub/Sub lorsque vous déployez une fonction. Consultez la page Déployer une fonction Cloud Run pour obtenir des instructions générales sur le déploiement d'une fonction. Consultez la suite de cette section pour obtenir des informations supplémentaires spécifiques à la configuration des déclencheurs Pub/Sub lors du déploiement.
gcloud
Si vous déployez à l'aide de gcloud CLI, les options présentées ici permettent de configurer les déclencheurs Pub/Sub :
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- L'option
--trigger-topic
spécifie le sujet Pub/Sub que le déclencheur surveillera. Les messages publiés dans ce sujet déclenchent des appels vers votre fonction. - L'option
--retry
permet de vérifier si les appels de fonction ayant échoué sont automatiquement relancés. Pour en savoir plus, consultez la section Effectuer de nouvelles tentatives d'exécution des fonctions basées sur des événements.
Anciens événements Pub/Sub
Les anciennes fonctions de Cloud Run Functions (1re génération) utilisent un type d'événement différent pour les déclencheurs Pub/Sub :
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
Ce type d'événement est compatible avec les anciennes fonctions qui utilisent déjà ces événements. Nous vous recommandons toutefois d'utiliser l'option --trigger-topic
, car l'ancien type d'événement pourrait être supprimé ultérieurement.
Console
Si vous effectuez un déploiement à l'aide de la console Google Cloud, vous pouvez configurer un déclencheur Pub/Sub dans la section Déclencheur :
- Dans le champ Type de déclencheur, sélectionnez Cloud Pub/Sub.
- Dans le champ Sélectionner un sujet Cloud Pub/Sub, sélectionnez un sujet que le déclencheur doit surveiller, ou sélectionnez Créer un sujet pour ouvrir une fenêtre pour créer un sujet. Lorsqu'un message est publié dans le sujet de votre fonction, cela déclenche un appel vers votre fonction.
- Cochez ou décochez la case Réessayer après échec pour vérifier si les appels de fonction ayant échoué sont automatiquement relancés. Pour en savoir plus, consultez la section Effectuer de nouvelles tentatives d'exécution des fonctions basées sur des événements.
Étapes suivantes
- Découvrez comment écrire des fonctions basées sur des événements.
- Découvrez comment déployer une fonction Cloud Run.
- Reportez-vous au tutoriel Pub/Sub pour obtenir un exemple d'écriture, de déploiement et d'appel d'une fonction avec un déclencheur Pub/Sub.