Déclencher avec des événements

Eventarc est un service Google Cloud qui vous permet de créer des architectures basées sur des événements sans avoir à implémenter, personnaliser ou gérer l'infrastructure sous-jacente.

Vous pouvez créer un déclencheur Eventarc en spécifiant des filtres pour le déclencheur et en configurant le routage de l'événement, y compris la source de l'événement et le service Cloud Run cible. Lorsque l'événement ou l'ensemble d'événements spécifié correspond aux filtres, votre service Cloud Run est appelé automatiquement en réponse aux événements.

Les événements envoyés à votre service Cloud Run sont reçus sous la forme de requêtes HTTP.

Les requêtes adressées à votre service sont déclenchées par les événements suivants :

Cette page vous explique comment créer un déclencheur pour un service via la page de la console Cloud Run. Pour obtenir des instructions similaires sur la création d'un déclencheur pour une fonction, consultez Déployer des fonctions dans Cloud Run.

Vous pouvez également créer un déclencheur Eventarc à l'aide de Google Cloud CLI ou via la page de la console Eventarc. Pour obtenir des instructions sur la création d'un déclencheur pour un fournisseur, un type d'événement et une destination spécifiques, filtrez la liste pour en savoir plus sur les fournisseurs et destinations d'événements d'Eventarc.

Avant de commencer

Avant de créer un déclencheur avec Eventarc, vous devez comprendre les rôles requis pour l'identité du déclencheur.

  1. Activez l'API Eventarc.

    Activer l'API

  2. Chaque déclencheur Eventarc est associé à un compte de service IAM (Identity and Access Management) au moment de sa création. Ce compte de service est appelé compte de service du déclencheur et permet d'appeler l'API Eventarc. Par exemple, pour envoyer des événements à un service Cloud Run nécessitant une authentification, assurez-vous que l'identité du déclencheur dispose du rôle IAM Demandeur Cloud Run (roles/run.invoker).

  3. Si vous créez un déclencheur pour un événement direct à partir de Cloud Storage, attribuez le rôle pubsub.publisher au compte de service Cloud Storage :

    SERVICE_ACCOUNT="$(gcloud storage service-agent --project=PROJECT_ID)"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:${SERVICE_ACCOUNT}" \
        --role='roles/pubsub.publisher'
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud. Vous pouvez trouver l'ID de votre projet sur la page de Bienvenue de Google Cloud Console.

Créer un déclencheur

Après avoir déployé votre service, vous pouvez utiliser la page de la console Cloud Run pour créer un déclencheur Eventarc.

  1. Dans la console Google Cloud, accédez à Cloud Run.

    Accédez à Cloud Run

  2. Dans la liste des services, cliquez sur un service existant ou créez-en un.

  3. Sur la page d'informations du service, cliquez sur l'onglet Déclencheurs.

  4. Cliquez sur Ajouter un déclencheur Eventarc.

    Le volet Déclencheur Eventarc s'ouvre. Pour déterminer la meilleure façon d'acheminer les événements, consultez la page Options de routage des événements.

  5. Suivez les instructions pour créer un déclencheur pour un fournisseur, un type d'événement et une destination spécifiques, et reportez-vous aux instructions de la console dans la section "Créer un déclencheur".

  6. Sélectionnez le compte de service qui appelle votre service Cloud Run ou créez un compte de service.

    Cela spécifie l'adresse e-mail du compte de service IAM associé au déclencheur. Pour les destinations Cloud Run, ce compte de service permet de générer des jetons d'identité lors de l'appel du service.

  7. Vous pouvez éventuellement spécifier le chemin d'URL du service auquel envoyer la requête entrante.

    Il s'agit du chemin relatif sur le service de destination auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.

  8. Après avoir créé le déclencheur, vous pouvez vérifier son état en vous assurant qu'une coche s'affiche dans l'onglet Déclencheurs.

Étape suivante