Vous pouvez utiliser un déclencheur Eventarc pour exécuter un workflow le résultat d'un événement ou d'un ensemble d'événements. Les événements sont acheminés d'un fournisseur d'événements vers les destinataires d'événements intéressés.
Eventarc fournit des événements au destinataire d'événements au format CloudEvents via une requête HTTP. Le service Workflows convertit à un objet JSON (selon le spécification CloudEvents) et transmet l'événement à l'exécution du workflow argument d'exécution du workflow.
L'exécution de votre workflow est déclenchée :
- Lorsqu'un journal d'audit est créé et correspond aux critères de filtre du déclencheur. Par exemple, consultez ce guide de démarrage rapide dans lequel vous déclenchez des workflows avec des événements de BigQuery à l'aide de Cloud Audit Logs.
- En réponse à des événements directs, comme la mise à jour d'un bucket Cloud Storage ou une mise à jour d'un modèle Firebase Remote Config. Par exemple, consultez ce guide de démarrage rapide, dans lequel vous allez déclencher Workflows avec des depuis Cloud Storage.
- Par messages publiés dans un sujet Pub/Sub. Par exemple, consultez cette dans lequel vous allez déclencher Workflows avec Messages Pub/Sub.
Veuillez noter les points suivants :
Les événements sont considérés comme distribués dès le début de l'exécution du workflow, et l'exécution réelle se produit de manière asynchrone dans les services Workflows.
Les exécutions déclenchées par des événements ne sont pas relancées si l'exécution du workflow démarre, mais échoue plus tard. Pour en savoir plus, consultez les Règle de nouvelle tentative d'événement.
La fenêtre de déduplication Workflows pour garantir le traitement des événements une seule fois est de 24 heures.
Lorsque vous utilisez Workflows comme destination d'une Déclencheur Eventarc, événements supérieurs au maximum La taille d'argument de Workflows ne pourra pas déclencher les exécutions de workflow. Pour en savoir plus, consultez la page Quotas et limites.
Dans les projets protégés par un périmètre de service, lorsque vous acheminez des événements vers Destinations de workflows pour lesquelles le Pub/Sub le point de terminaison push est défini sur une exécution Workflows, vous ne pouvez créer des abonnements push Pub/Sub via Eventarc Notez que le compte de service utilisé pour le transfert pour le point de terminaison Workflows doit être incluse dans périmètre de service. Pour en savoir plus, consultez la section Configurer un périmètre de service à l'aide de VPC Service Controls.
Créer un déclencheur à l'aide de Google Cloud CLI
Vous pouvez créer un déclencheur en exécutant une commande gcloud eventarc triggers create
, associée aux options obligatoires et facultatives.
Pour en savoir plus, consultez les instructions de gcloud de la section déclencheur" lorsque créer un déclencheur pour un fournisseur, un type d'événement et une destination Workflows spécifiques.
Créer un déclencheur à l'aide de la console
Les étapes suivantes vous expliquent comment créer un déclencheur sur le Workflows de la console Google Cloud.
Avant de commencer
-
Enable the Eventarc and Pub/Sub APIs.
Créez un compte de service afin qu'Eventarc puisse envoyer des requêtes à l'API Workflows :
Dans Google Cloud Console, accédez à la page Comptes de service.
Sélectionnez un projet, puis cliquez sur Créer un compte de service.
Dans le champ Nom du compte de service, saisissez un nom compris entre 6 et 30 caractères
Il peut contenir des caractères alphanumériques minuscules et des tirets. Une fois le compte de service créé, vous ne pouvez pas en modifier le nom.
Cliquez sur Créer et continuer.
Attribuez au nouveau compte de service le rôle workflows.invoker, de sorte que est autorisé à déclencher votre workflow. Dans la liste Sélectionner un rôle, sélectionnez Workflows > Workflows Invoker (Workflows > Demandeur de workflow).
Si vous développez une application de production, accordez toujours les rôles les moins permissifs possible. Pour en savoir plus, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Cliquez sur OK.
Pour autoriser le compte principal qui exécutera votre Eventarc d'agir en tant que service IAM (Identity and Access Management) compte, accordez un rôle permettant au compte principal d'emprunter l'identité du compte de service.
Configurer le déclencheur
Si vous ne disposez pas encore d'un workflow que vous souhaitez déclencher, créez-en un et déployez-le.
Dans Google Cloud Console, accédez à la page Workflows :
Sur la page "Workflows", sélectionnez un workflow pour accéder à sa page d'informations.
Sur la page Détails du workflow, cliquez sur edit Modifier.
Sur la page Modifier le workflow, sélectionnez Ajouter un déclencheur > Eventarc
Le volet Déclencheur Eventarc s'ouvre.
Suivez les instructions pour créer un déclencheur pour un fournisseur, un type d'événement et une destinationWorkflows spécifiques, et reportez-vous aux instructions de la console dans la section "Créer un déclencheur".
Sélectionnez le compte de service qui appelle votre workflow.
Cela spécifie le compte de service IAM auquel vous avez précédemment attribué le rôle
workflows.invoker
afin qu'il soit autorisé à déclencher votre workflow.Cliquez sur Enregistrer le déclencheur.
Le déclencheur Eventarc est répertorié dans la section Déclencheurs. de la page Workflows Details (Détails du workflow).
Si vous souhaitez mettre à jour ou supprimer le déclencheur, vous devez modifier le workflow:
- Sur la page Détails du workflow, cliquez sur edit Modifier.
- Dans la section Déclencheurs, recherchez le déclencheur que vous souhaitez modifier ou supprimer.
- Cliquez sur edit Modifier la ressource ou delete Supprimer la ressource.
L'exécution de votre workflow est désormais déclenchée par les événements correspondant aux critères de filtre.
Créer un déclencheur à l'aide de Terraform
Vous pouvez créer un déclencheur pour un workflow à l'aide de Terraform. Pour en savoir plus, consultez la page Déclencher un workflow à l'aide d'Eventarc et Terraform.