Déclencheurs Pub/Sub

Dans Cloud 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 :

Le dépôt Google Events contient des ressources supplémentaires sur l'utilisation des données d'événement.

Deployment

Vous pouvez spécifier un déclencheur Pub/Sub lorsque vous déployez une fonction. Consultez la page Déployer une fonction Cloud 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 \
--trigger-topic=YOUR_PUBSUB_TOPIC \
[--retry] \
...

Anciens événements Pub/Sub

Les anciennes fonctions de Cloud 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 \
--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.

  • Pour Cloud Functions (2nd gen), procédez comme suit :

    1. Dans le champ Type de déclencheur, sélectionnez Cloud Pub/Sub.
    2. Dans le champ Sujet Cloud Pub/Sub, sélectionnez un sujet que le déclencheur doit surveiller. Les messages publiés dans ce sujet déclenchent des appels vers votre fonction.
    3. Cochez ou décochez la case Réessayer après échec pour vérifier si Cloud Functions relance automatiquement un appel de fonction ayant échoué. Pour en savoir plus, consultez la section Effectuer de nouvelles tentatives d'exécution des fonctions basées sur des événements.
    4. Cliquez sur Plus d'options pour effectuer une configuration supplémentaire sur votre déclencheur :

      • Dans le champ Type de déclencheur, spécifiez l'une des sources Google, Personnalisé ou Tiers :

        • Les sources Google vous permettent de spécifier des déclencheurs pour Pub/Sub, Cloud Storage, Firestore et d'autres fournisseurs d'événements Google. Dans le volet Déclencheur Eventarc, utilisez le champ Fournisseur d'événements pour sélectionner le produit qui fournit le type d'événement que vous souhaitez déclencher pour votre fonction. Ensuite, dans le champ Événement, sélectionnez l'événement que vous souhaitez utiliser comme déclencheur.

        • L'option Personnalisé vous permet de produire et de consommer des événements à partir du code de votre application. Suivez les instructions du volet Déclencheur Eventarc pour créer un canal. Un canal est une ressource utilisée comme pipeline pour fournir des événements personnalisés aux producteurs auprès des utilisateurs. Les événements personnalisés sont publiés dans un canal et un déclencheur Eventarc s'abonne à ces événements.

        • L'option Tiers vous permet d'intégrer des fournisseurs autres que Google qui proposent une source Eventarc. Pour plus d'informations, consultez la section Événements tiers dans Eventarc.

      • Dans le champ Événement, sélectionnez un événement déclencheur. La valeur par défaut est google.cloud.pubsub.topic.v1.messagePublished.

      • Dans le champ Compte de service, vous pouvez si vous le souhaitez sélectionner un compte de service à utiliser comme identité du déclencheur Eventarc. Pour en savoir plus, consultez la section Identité du déclencheur.

    5. Cliquez sur Enregistrer le déclencheur.

  • Pour Cloud Functions (1st gen), procédez comme suit :

    1. Dans le champ Type de déclencheur, sélectionnez Cloud Pub/Sub.
    2. 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.
    3. 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