1. Présentation
Dans cet atelier, vous allez créer un déclencheur Eventarc qui connecte un sujet Pub/Sub au service Workflows. Eventarc vous permet de dissocier la communication entre les services, afin de rendre votre solution plus extensible et basée sur les événements. Vous allez créer un flux de travail qui comprend plusieurs étapes afin d’exécuter un processus commercial afin de calculer les points de récompense des clients pour une commande chez Cymbal Eats. Le workflow appellera une API de service Cloud Run privée pour exécuter la logique métier. Le service Cloud Run est configuré pour n'autoriser que le trafic interne et nécessite une authentification. Le workflow publiera un message dans le sujet Pub/Sub pour informer le service de commande des points de récompense calculés.
Qu'est-ce qu'Eventarc ?
Eventarc vous permet de créer des architectures basées sur des événements sans avoir à implémenter, personnaliser ni gérer l'infrastructure sous-jacente. Eventarc offre une solution standardisée pour gérer le flux de changements d'état, appelés événements, entre des microservices découplés. Lorsqu'il est déclenché, Eventarc les achemine via des abonnements Pub/Sub vers différentes destinations (par exemple, Workflows ou Cloud Run) tout en gérant pour vous la distribution, la sécurité, les autorisations, l'observabilité et la gestion des erreurs.
Fournisseurs d'événements Google
- Plus de 90 fournisseurs Google Cloud. Ces fournisseurs envoient des événements directement à partir de la source (par exemple, Cloud Storage) ou via des entrées Cloud Audit Logs.
- fournisseurs Pub/Sub. Ces fournisseurs envoient des événements à Eventarc à l'aide de messages Pub/Sub.
Fournisseurs tiers
Les fournisseurs tiers sont des entités autres que Google qui proposent une source Eventarc.
Déclencheurs Eventarc
- Événements Cloud Pub/Sub Eventarc peut être déclenché par des messages publiés dans des sujets Pub/Sub.
- Événements Cloud Audit Logs (CAL). Cloud Audit Logs fournit des journaux d'audit pour les activités d'administration et l'accès aux données pour chaque projet, dossier et organisation Cloud.
- Événements directs : Eventarc peut être déclenché par divers événements directs, tels que la mise à jour d'un bucket Cloud Storage ou d'un modèle Firebase Remote Config.
Destinations de l'événement
- Workflows
- Cloud Run
- GKE
- Cloud Functions( 2nd gen)
Qu'est-ce que Workflows ?
Workflows est un service entièrement géré qui vous permet d'intégrer des microservices, des tâches et des API. Workflows est un service sans serveur qui s'adaptera à votre demande.
Cas d'utilisation de Workflows:
- Les workflows basés sur des événements s'exécutent sur des déclencheurs définis. Par exemple, lorsqu'une nouvelle commande est envoyée et que vous souhaitez calculer les points de fidélité des clients. Ou lorsqu'une commande est annulée, l'événement peut être publié et tous les services intéressés le traiteront.
- Les workflows de jobs par lot exécutent des jobs régulièrement à l'aide de Cloud Scheduler. Par exemple, une tâche de nuit pour rechercher les éléments de menu dont l'état a échoué et les supprimer.
Workflows est idéal pour les workflows qui orchestrent des services. Vous pouvez automatiser des processus comprenant l'attente et les nouvelles tentatives pendant une durée maximale d'un an.
Avantages de Workflows:
- La configuration plutôt que le code:réduisez les contraintes techniques en déplaçant la logique vers la configuration plutôt que d'écrire du code.
- Simplifiez votre architecture. Les workflows avec état vous permettent de visualiser et de surveiller des intégrations de services complexes sans dépendances supplémentaires.
- Intégrez la fiabilité et la tolérance aux pannes. Contrôlez les échecs avec une logique de nouvelle tentative et une gestion des erreurs par défaut ou personnalisées, même en cas de défaillance d'autres systèmes, en plaçant chaque étape du processus dans Cloud Spanner pour vous aider à suivre la progression.
- Aucune maintenance. Évolutivité selon les besoins: vous n'avez rien à corriger ni à gérer. Vous ne payez que lorsque vos workflows s'exécutent, sans frais en cas d'attente ou d'inactivité.
Dans cet atelier, vous allez configurer un workflow basé sur des événements.
Objectifs de l'atelier
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Configurer le sujet Pub/Sub et Eventarc pour déclencher Workflows
- Configurer Workflow pour appeler le service Cloud Run et publier des messages sur Pub/Sub
- Interroger les journaux structurés Workflows dans Cloud Logging et à l'aide de gcloud CLI
Prérequis
- Pour cet atelier, nous partons du principe que vous connaissez la console Cloud et les environnements Cloud Shell.
- Une expérience préalable de Cloud Run et Cloud Pub/Sub est utile, mais pas obligatoire.
2. Préparation
Configuration du projet Cloud
- Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. (Si vous ne possédez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.)
- Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères non utilisée par les API Google. Vous pouvez le modifier à tout moment.
- L'ID du projet est unique parmi tous les projets Google Cloud et non modifiable une fois défini. La console Cloud génère automatiquement une chaîne unique. généralement, vous ne vous souciez
pas de ce que c’est. Dans la plupart des ateliers de programmation, vous devrez référencer l'ID du projet (il est généralement identifié comme
PROJECT_ID
). Si l'ID généré ne vous convient pas, vous pouvez en générer un autre au hasard. Vous pouvez également essayer la vôtre pour voir si elle est disponible. Il ne peut pas être modifié après cette étape et restera actif pendant toute la durée du projet. - Pour votre information, il existe une troisième valeur, le numéro de projet, utilisé par certaines API. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
- Vous devez ensuite activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour arrêter les ressources afin d'éviter que des frais ne vous soient facturés au-delà de ce tutoriel, vous pouvez supprimer les ressources que vous avez créées ou l'ensemble du projet. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai gratuit pour bénéficier d'un crédit de 300 $.
Configuration de l'environnement
Activez Cloud Shell en cliquant sur l'icône située à droite de la barre de recherche.
Clonez le dépôt, accédez au répertoire, copiez et collez la commande ci-dessous dans le terminal, puis appuyez sur Entrée:
git clone https://github.com/GoogleCloudPlatform/cymbal-eats.git && cd cymbal-eats/customer-service
Déployer les dépendances requises en exécutant la commande lab-setup.sh
Les ressources suivantes seront créées:
- Cluster et instance AlloyDB
- Artifact Registry pour stocker des images de conteneurs pour le job Cloud Run et le service client
- Connecteur d'accès VPC pour le service et le job Cloud Run afin de communiquer avec la base de données AlloyDB
- Job Cloud Run pour créer la base de données AlloyDB
- Service client Cloud Run : microservice basé sur Java utilisant le framework Quarkus
./lab-setup.sh
Si vous êtes invité à donner votre autorisation, cliquez sur "Autoriser". pour continuer.
La configuration prendra environ 10 minutes.
Attendez que le script soit terminé et que le résultat ci-dessous s'affiche avant d'effectuer d'autres étapes.
Deploying container to Cloud Run service [customer-service] in project [cymbal-eats-19227-5681] region [us-east1] OK Deploying new service... Done. OK Creating Revision... OK Routing traffic... Done. Service [customer-service] revision [customer-service-00001-mid] has been deployed and is serving 100 percent of traffic. Service URL: https://customer-service-e4p5zon5rq-ue.a.run.app
Vous pouvez explorer la section suivante, puis revenir à l'étape suivante pour reprendre la procédure.
3. Examiner le workflow
Concepts fondamentaux de Workflows
Un workflow comprend une série d'étapes décrites à l'aide de la syntaxe Workflows( YAML ou JSON).
Une fois qu'un workflow est créé, il est déployé, ce qui le prépare à être exécuté.
Une exécution est une exécution unique de la logique contenue dans la définition d'un workflow. Un workflow qui n'a pas été exécuté ne génère aucuns frais. Toutes les exécutions de workflow sont indépendantes, et la mise à l'échelle rapide du produit permet un grand nombre d'exécutions simultanées.
Contrôles d'exécution
- Étapes : pour créer un workflow, vous devez définir l'élément
steps
et l'ordre d'exécution souhaités à l'aide de la syntaxe Workflows. Chaque workflow doit comporter au moins une étape. - Conditions : vous pouvez utiliser un bloc
switch
comme mécanisme de sélection pour permettre à la valeur d'une expression de contrôler le flux d'exécution d'un workflow. - Itérations : vous pouvez utiliser une boucle
for
pour itérer une séquence de chiffres ou un ensemble de données, comme une liste ou une carte. - Sous-workflows : un sous-workflow fonctionne de la même manière qu'une routine ou une fonction dans un langage de programmation. Il vous permet d'encapsuler une étape ou un ensemble d'étapes que votre workflow répète plusieurs fois.
Déclencher des exécutions
- Manuelle : vous pouvez gérer les workflows à partir de la console Google Cloud ou de la ligne de commande à l'aide de la Google Cloud CLI.
- Programmatique : les bibliothèques clientes Cloud pour l'API Workflows, ou l'API REST, peuvent être utilisées pour gérer les workflows.
- Planifié : vous pouvez utiliser Cloud Scheduler pour exécuter un workflow selon un calendrier spécifique.
Arguments d'exécution
Vous pouvez accéder aux données transmises au moment de l'exécution en ajoutant un champ params
à votre workflow principal (placé dans un bloc principal). Le bloc "main" accepte un seul argument de n'importe quel type de données JSON valide. Le champ "params" nomme la variable utilisée par le workflow pour stocker les données que vous transmettez.
Workflow vers l'authentification du service Cloud Run
Le service client est un exemple d'application inclus dans ce dépôt. Il s'exécute sur Cloud Run et est configuré pour n'autoriser que les requêtes authentifiées provenant de réseaux internes. Vous allez configurer Workflows pour ajouter un jeton OpenID Connect(OIDC) signé par Google à la requête d'authentification auprès du service Cloud Run.
Consultez la documentation pour en savoir plus sur l'authentification de service à service.
L'authentification du workflow est configurée dans le bloc args
à l'aide de la section auth
.
rewardsWorkflow.yaml.tmpl
- create_customer: call: http.post args: url: CUSTOMER_SERVICE_URL/customer auth: type: OIDC
Logique du workflow
Si un client n'existe pas, ce workflow effectuera un appel d'API pour créer un client, puis mettre à jour les points de fidélité. En fonction du montant total de la commande, le workflow sélectionne un multiplicateur pour calculer les points de récompense du client. Pour en savoir plus, consultez l'exemple ci-dessous.
- calculate_multiplier: switch: - condition: ${totalAmount < 10} steps: - set_multiplier1: assign: - multiplier: 2 - condition: ${totalAmount >= 10 and totalAmount < 25} steps: - set_multiplier2: assign: - multiplier: 3 - condition: ${totalAmount >= 25} steps: - set_multiplier3: assign: - multiplier: 5 - calculate_rewards: assign: - rewardPoints: ${customerRecord.rewardPoints * multiplier}
4. Configurer et déployer le workflow
Configurez des variables d'environnement :
export REGION=us-east1
export CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--platform managed \
--region $REGION \
--format=json | jq \
--raw-output ".status.url")
echo $CUSTOMER_SERVICE_URL
Remplacez l'URL du service dans le modèle de workflow:
sed "s@CUSTOMER_SERVICE_URL@$CUSTOMER_SERVICE_URL@g" rewardsWorkflow.yaml.tmpl > rewardsWorkflow.yaml
Définissez l'emplacement des variables d'environnement du service et du projet Workflows:
gcloud config set workflows/location ${REGION}
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
export PROJECT_NAME=$(gcloud projects describe $PROJECT_ID --format='value(name)')
Créez un compte de service personnalisé pour le workflow avec les autorisations suivantes:
- Appeler le service Cloud Run
- API de journalisation des appels
- Publier des messages dans le sujet Pub/Sub
export WORKFLOW_SERVICE_ACCOUNT=workflows-cloudrun-sa
gcloud iam service-accounts create ${WORKFLOW_SERVICE_ACCOUNT}
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/run.invoker"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/pubsub.publisher"
Workflow de déploiement Le workflow est configuré pour utiliser le compte de service créé à l'étape précédente:
export WORKFLOW_NAME=rewardsWorkflow
gcloud workflows deploy ${WORKFLOW_NAME} \
--source=rewardsWorkflow.yaml \
--service-account=${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com
Examinez la source du workflow et d'autres détails(onglet "Déclencheurs"). Pour le moment, aucun déclencheur n'est configuré pour exécuter ce workflow. Vous le configurerez à l'étape suivante.
5. Configurer les sujets Pub/Sub et le déclencheur Eventarc
Vous allez ensuite créer deux sujets Pub/Sub et configurer un déclencheur Eventarc.
Le service de commande publiera des messages dans order-topic
avec des informations sur les nouvelles commandes.
Le workflow publiera des messages dans order-points-topic
avec des informations sur les points de fidélité de la commande et le montant total. Le service de commande(non déployé dans le cadre de cet atelier) expose un point de terminaison qui est utilisé par l'abonnement push pour order-points-topic,
afin de mettre à jour les points de fidélité et le montant total par commande.
Créez des sujets Pub/Sub:
export TOPIC_ID=order-topic
export ORDER_POINTS_TOPIC_ID=order-points-topic
gcloud pubsub topics create $TOPIC_ID --project=$PROJECT_ID
gcloud pubsub topics create $ORDER_POINTS_TOPIC_ID --project=$PROJECT_ID
Définissez l'emplacement du service Eventarc:
gcloud config set eventarc/location ${REGION}
Créez un compte de service personnalisé qui permettra au déclencheur Eventarc d'exécuter des workflows.
export TRIGGER_SERVICE_ACCOUNT=eventarc-workflow-sa
gcloud iam service-accounts create ${TRIGGER_SERVICE_ACCOUNT}
Accordez au compte de service l'accès pour exécuter des workflows.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member="serviceAccount:${TRIGGER_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role="roles/workflows.invoker"
Créer un déclencheur Eventarc pour écouter les messages Pub/Sub et les distribuer à Workflows
gcloud eventarc triggers create new-orders-trigger \
--destination-workflow=${WORKFLOW_NAME} \
--destination-workflow-location=${REGION} \
--event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
--service-account="${TRIGGER_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--transport-topic=$TOPIC_ID
Exemple de résultat :
Creating trigger [new-orders-trigger] in project [qwiklabs-gcp-01-1a990bfcadb3], location [us-east1]...done. Publish to Pub/Sub topic [projects/qwiklabs-gcp-01-1a990bfcadb3/topics/order-topic] to receive events in Workflow [rewardsWorkflow]. WARNING: It may take up to 2 minutes for the new trigger to become active.
Examinez le déclencheur Eventarc créé.
Vérifiez l'abonnement créé pour le déclencheur.
Examinez les modifications côté workflow. Un déclencheur a été ajouté.
6. Tester le workflow
Pour simuler le service Order Service, vous allez envoyer des messages au sujet Pub/Sub depuis Cloud Shell et vérifier les journaux du service client Cloud Run dans la console Cloud.
export TOPIC_ID=order-topic
gcloud pubsub topics publish $TOPIC_ID --message '{"userId":"id1","orderNumber":123456,"name":"Angela Jensen","email":"ajensen9090+eats@gmail.com","address":"1845 Denise St","city":"Mountain View","state":"CA","zip":"94043","orderItems":[{"id":7,"createDateTime":"2022-03-17T21:51:44.968584","itemImageURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","itemName":"Curry Plate","itemPrice":12.5,"itemThumbnailURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","spiceLevel":0,"status":"Ready","tagLine":"Spicy touch for your taste buds","updateDateTime":"2022-03-18T01:30:29.340584","inventory":8,"quantity":1}]}'
Exemple de résultat :
messageIds: - '5063709859203105'
Examinez les détails de l'exécution du workflow et les journaux.
7. Journalisation structurée du workflow
Le workflow est configuré pour écrire des journaux structurés au format JSON. Les journaux sont écrits à l'aide de l'API Cloud Logging, de la ressource workflows.googleapis.com/Workflow
et sous le nom de journal projects/${PROJECT_ID}/logs/Workflows
.
Vérifiez la configuration de la journalisation ci-dessous.
- log_totalAmount: call: sys.log args: json: orderNumber: ${order.orderNumber} totalAmount: ${totalAmount} multiplier: ${multiplier} totalRewardPoints: ${rewardPoints} orderRewardPoints: ${orderRewardPoints} severity: INFO
Ouvrez l'explorateur de journaux dans la console et exécutez une requête sur les commandes traitées dont le montant total est supérieur à 2 $.
Utilisez la requête ci-dessous en remplaçant l'ID de projet(qwiklabs-gcp-01-1a990bfcadb3
) par l'ID de votre projet actuel:
resource.type="workflows.googleapis.com/Workflow" AND
logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND
jsonPayload.totalAmount > 2 AND
timestamp >= "2022-11-01T23:59:59Z" AND
timestamp <= "2023-11-05T00:00:00Z"
Exemple de résultat :
Ouvrez Cloud Shell et utilisez la gcloud CLI pour lire les journaux à l'aide des commandes ci-dessous.
Remplacez l'ID du projet(qwiklabs-gcp-01-1a990bfcadb3
) par l'ID de votre projet actuel.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format="table(jsonPayload.orderNumber,jsonPayload.totalAmount,jsonPayload.orderRewardPoints,jsonPayload.totalRewardPoints,jsonPayload.multiplier)"
Exemple de résultat au format table
:
Remplacez l'ID du projet(qwiklabs-gcp-01-1a990bfcadb3
) par l'ID de votre projet actuel.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format=json | jq
Exemple de résultat au format json
:
8. Consulter les dossiers client
(Étapes facultatives) customer-service
est actuellement configuré pour n'accepter que le trafic provenant de réseaux internes.
Exécutez les commandes ci-dessous pour enregistrer l'URL du service et appeler le service client.
export REGION=us-east1
CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--region=$REGION \
--format=json | jq \
--raw-output ".status.url")
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer
Vous recevrez un message d'erreur indiquant que l'accès est interdit.
<html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>403 Forbidden</title> </head> <body text=#000000 bgcolor=#ffffff> <h1>Error: Forbidden</h1> <h2>Access is forbidden.</h2> <h2></h2> </body></html>
Pour afficher les dossiers clients existants, définissez les paramètres d'entrée de Cloud Run customer-service
sur "Allow all traffic
" puis cliquez sur "Enregistrer".
Le point de terminaison sera alors public, et vous pourrez appeler l'API Customer Service depuis Cloud Shell à l'aide de curl.
Exécutez les commandes ci-dessous pour enregistrer l'URL du service et répertorier les clients existants.
CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--region=$REGION \
--format=json | jq \
--raw-output ".status.url")
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer | jq
Exemple de résultat :
[ { "id": "id1", "rewardPoints": 3, "address": "1845 Denise St", "city": "Mountain View", "createDateTime": "2022-11-11T15:56:45.487566", "email": "ajensen9090+eats@gmail.com", "name": "Angela Jensen", "state": "CA", "updateDateTime": "2022-11-11T15:56:45.866125", "zip": "94043" } ]
Exécutez la commande pour publier une nouvelle commande plusieurs fois et vérifier les points de récompense des clients avec la commande curl.
Publier le nouveau message de commande:
export TOPIC_ID=order-topic
gcloud pubsub topics publish $TOPIC_ID --message '{"userId":"id1","orderNumber":123456,"name":"Angela Jensen","email":"ajensen9090+eats@gmail.com","address":"1845 Denise St","city":"Mountain View","state":"CA","zip":"94043","orderItems":[{"id":7,"createDateTime":"2022-03-17T21:51:44.968584","itemImageURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","itemName":"Curry Plate","itemPrice":12.5,"itemThumbnailURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","spiceLevel":0,"status":"Ready","tagLine":"Spicy touch for your taste buds","updateDateTime":"2022-03-18T01:30:29.340584","inventory":8,"quantity":1}]}'
Vérifiez les points de récompense des clients:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer | jq
Vérifiez les journaux. Remplacez l'ID du projet(qwiklabs-gcp-01-1a990bfcadb3
) par l'ID de votre projet actuel.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format="table(jsonPayload.orderNumber,jsonPayload.totalAmount,jsonPayload.orderRewardPoints,jsonPayload.totalRewardPoints,jsonPayload.multiplier)"
9. Félicitations !
Félicitations, vous avez terminé cet atelier de programmation.
Points abordés
- Configurer Workflows
- Configurer un déclencheur Eventarc pour Workflows
- Appeler un service Cloud Run à partir de Workflows
- Interroger les journaux structurés dans Cloud Logging et utiliser gcloud CLI
Étapes suivantes :
Découvrez d'autres ateliers de programmation Cymbal Eats:
- Déclencher le traitement des événements depuis Cloud Storage
- Se connecter au service Cloud SQL privé depuis Cloud Run
- Se connecter à des bases de données entièrement gérées depuis Cloud Run
- Sécuriser une application sans serveur avec Identity-Aware Proxy (IAP)
- Déclencher des jobs Cloud Run avec Cloud Scheduler
- Déployer une application sur Cloud Run en toute sécurité
- Sécuriser le trafic d'entrée Cloud Run
- Se connecter à une instance privée AlloyDB depuis GKE Autopilot
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez chaque ressource individuellement.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.