Déclencheurs Eventarc

Un déclencheur Eventarc permet de déclencher une fonction par n'importe quel type d'événement compatible avec Eventarc. Lorsque vous spécifiez un déclencheur Eventarc pour une fonction, vous fournissez des filtres d'événement. Votre fonction est appelée chaque fois qu'un événement correspondant aux filtres se produit.

Les fonctions basées sur des événements dans Cloud Run Functions utilisent des déclencheurs Eventarc. Pour plus d'informations, consultez la section Déclencheurs Eventarc dans la documentation d'Eventarc. Pour obtenir la liste des types d'événements acceptés, consultez la section Types d'événements acceptés par Eventarc.

Pour qu'une fonction utilise un déclencheur Eventarc, elle doit être mise en œuvre en tant que fonction CloudEvent. Les données d'événement sont transmises à votre fonction au format CloudEvents, avec une charge utile de données CloudEvent correspondant au type d'événement. Le dépôt Google Events contient des ressources supplémentaires sur l'utilisation des données d'événement.

Emplacement du déclencheur

Les déclencheurs Eventarc sont associés à des emplacements spécifiques. En général, l'emplacement d'un déclencheur Eventarc doit correspondre à celui de la ressource Google Cloud dont vous souhaitez surveiller les événements. Dans la plupart des scénarios, vous devez également déployer votre fonction Cloud Run dans la même région. Consultez la section Comprendre les emplacements Eventarc pour en savoir plus sur les emplacements des déclencheurs Eventarc.

Identité du déclencheur

Les déclencheurs Eventarc sont associés à des comptes de service, destinés à être utilisés comme identité lors de l'appel de votre fonction. Le compte de service de votre déclencheur Eventarc doit être autorisé à appeler votre fonction. Vous devrez peut-être vérifier que le compte de service Compute par défaut dispose des autorisations appropriées pour appeler votre fonction.

Déploiement

Vous pouvez spécifier un déclencheur Eventarc lorsque vous déployez une fonction. Pour obtenir des instructions générales sur le déploiement d'une fonction, consultez Déployer une fonction Cloud Run. Cette section explique comment configurer un déclencheur Eventarc qui appelle une fonction lorsqu'un événement correspondant aux filtres se produit lors du déploiement.

gcloud

Si vous effectuez un déploiement à l'aide de gcloud CLI, les options ci-dessous permettent de configurer les déclencheurs Eventarc :

gcloud functions deploy YOUR_FUNCTION_NAME \
  --gen2 \
  --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \
  [--trigger-event-filters=EVENTARC_EVENT_FILTER] \
  [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \
  [--trigger-location=EVENTARC_TRIGGER_LOCATION] \
  [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \
  [--retry] \
...
  • L'option --gen2 indique que vous effectuez le déploiement sur Cloud Run Functions. Vous devez utiliser Cloud Run Functions pour utiliser les déclencheurs Eventarc.
  • L'option --trigger-event-filters spécifie les filtres d'événements que le déclencheur va surveiller. Les événements correspondant aux filtres vont déclencher des appels vers votre fonction.

    • Obligatoire : chaque déclencheur doit avoir un type d'événement compatible au format --event-filters="type=EVENTARC_FILTER_TYPE". Ce type d'événement ne peut pas être modifié après sa création. Pour modifier EVENT_FILTER_TYPE, créez un nouveau déclencheur et supprimez l'ancien.
    • Facultatif : vous pouvez répéter l'option --trigger-event-filters avec un filtre compatible au format ATTRIBUTE=VALUE pour ajouter d'autres filtres.
  • L'option --trigger-event-filters-path-pattern spécifie les filtres d'événements que le déclencheur va surveiller, correspondant au format de chemin d'accès. Ce filtre doit respecter la syntaxe ATTRIBUTE=VALUE. Pour en savoir plus, consultez la page Comprendre les formats de chemin d'accès.

  • L'option --trigger-location spécifie un emplacement pour le déclencheur Eventarc. Pour en savoir plus, consultez la section Emplacement du déclencheur. Si cette option n'est pas spécifiée, la région de votre fonction est utilisée comme emplacement du déclencheur.

  • L'option --trigger-service-account spécifie un compte de service à utiliser comme identité pour le déclencheur Eventarc. Pour en savoir plus, consultez la section Identité du déclencheur.

  • 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.

Si vous créez un déclencheur pour un évènement Pub/Sub direct ou Cloud Storage, reportez-vous aux instructions de gcloud CLI pour configurer un déclencheur pour un évènement Pub/Sub et Cloud Storage, respectivement.

La documentation Eventarc contient des exemples de spécification de filtres d'événements pour différents types d'événements. Pour en savoir plus, suivez les instructions lors de la création d'un déclencheur pour un fournisseur, un type d'événement et une destination spécifiques.

Console

Si vous effectuez un déploiement à l'aide de la console Google Cloud, vous devez sélectionner 2e génération comme environnement. Vous pouvez ensuite configurer un déclencheur Eventarc dans la section Déclencheur.

  1. Pour ajouter un déclencheur d'événement, cliquez sur Ajouter un déclencheur. Les options suivantes s'affichent :

    • Déclencheur Pub/Sub
    • Déclencheur Cloud Storage
    • Déclencheur Firestore
    • Autre déclencheur

    Lorsque vous choisissez l'une de ces options, le volet Déclencheur Eventarc s'ouvre, dans lequel vous pouvez spécifier les détails du déclencheur.

    Si vous créez un déclencheur pour un évènement Pub/Sub direct ou Cloud Storage, reportez-vous aux instructions de la console Google Cloud pour configurer un déclencheur pour un évènement Pub/Sub et Cloud Storage, respectivement.

  2. Si vous choisissez Autre déclencheur, utilisez le champ Type de déclencheur dans le volet Déclencheur Eventarc pour spécifier l'option Sources Google, Personnalisé ou Tiers.

    • Le type Sources Google vous permet 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.

  3. Dans le champ Région, sélectionnez un emplacement pour le déclencheur Eventarc, le cas échéant. Pour en savoir plus, consultez la section Emplacement du déclencheur.

  4. 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. 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.

  6. Cliquez sur Enregistrer le déclencheur.

Étapes suivantes