GSP773

Présentation
Dans cet atelier, vous allez apprendre à utiliser les événements pour Cloud Run afin de gérer la communication entre les producteurs et les consommateurs. Les producteurs (c'est-à-dire les sources d'événements) fournissent les données d'origine. Les données produites sont envoyées à des consommateurs (c'est-à-dire les récepteurs d'événements) qui utilisent les informations transmises. Le diagramme ci-dessous offre une vue d'ensemble de cette approche sur Google Cloud :

Le mécanisme de livraison unifié entre les producteurs et les consommateurs est Eventarc pour Cloud Run. Dans l'exemple ci-dessus, Cloud Pub/Sub facilite la livraison des événements générés par le projet.
Au terme de cet atelier, vous serez en mesure de transmettre des événements provenant de diverses sources vers des récepteurs Google Cloud et des récepteurs personnalisés.
Points abordés :
- Eventarc pour Cloud Run
- Créer un récepteur Cloud Run
- Créer un déclencheur d'événement pour Cloud Pub/Sub
- Créer un déclencheur d'événement pour les journaux d'audit
Prérequis
Pour suivre ce contenu, il est recommandé d'avoir quelques connaissances de base sur les sujets suivants :
- Cloud Run
- Cloud Pub/Sub
- Journalisation
Nous vous recommandons d'effectuer cet atelier dans une fenêtre de navigation privée.
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Configurer votre environnement
- Définissez votre projet :
gcloud config set project {{{project_0.project_id | "PROJECT_ID"}}}
- Définissez la région Cloud Run sur une région prise en charge :
gcloud config set run/region {{{project_0.default_region | "REGION"}}}
- Définissez la plate-forme Cloud Run par défaut sur
managed (gérée) :
gcloud config set run/platform managed
- Définissez l'emplacement par défaut d'Eventarc pour Cloud Run :
gcloud config set eventarc/location {{{project_0.default_region | "REGION"}}}
Tâche 2 : Activer le compte de service
Ensuite, configurez les comptes de service nécessaires pour le déclencheur du journal d'audit.
- Stockez le numéro de projet dans une variable d'environnement :
export PROJECT_NUMBER="$(gcloud projects list \
--filter=$(gcloud config get-value project) \
--format='value(PROJECT_NUMBER)')"
- Attribuez le rôle
eventarc.admin au compte de service Compute Engine par défaut :
gcloud projects add-iam-policy-binding $(gcloud config get-value project) \
--member=serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com \
--role='roles/eventarc.admin'
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Activer le compte de service
Tâche 3 : Découverte d'événements
Vous pouvez découvrir les sources enregistrées et les types d'événements à l'aide de la ligne de commande.
- Pour afficher la liste des différents types d'événements, exécutez la commande suivante :
gcloud eventarc providers list
Résultat :
NAME: datamigration.googleapis.com
LOCATION: us-central1
NAME: apigeeregistry.googleapis.com
LOCATION: us-central1
NAME: networkconnectivity.googleapis.com
LOCATION: us-central1
NAME: dataplex.googleapis.com
LOCATION: us-central1
NAME: datafusion.googleapis.com
LOCATION: us-central1
NAME: pubsub.googleapis.com
LOCATION: us-central1
- Pour en savoir plus sur chaque événement, exécutez la commande suivante :
gcloud eventarc providers describe \
pubsub.googleapis.com
Résultat :
displayName: Cloud Pub/Sub
eventTypes:
- description: A message is published to the specified Pub/Sub topic.
filteringAttributes:
- attribute: type
required: true
type: google.cloud.pubsub.topic.v1.messagePublished
name: projects/{{{project_0.project_id | "PROJECT_ID"}}}/locations/{{{project_0.default_region | "REGION"}}}/providers/pubsub.googleapis.com
Tâche 4 : Créer un récepteur Cloud Run
- Configurez une variable d'environnement pour le service :
export SERVICE_NAME=event-display
- Configurez une variable d'environnement pour l'image :
export IMAGE_NAME="gcr.io/cloudrun/hello"
- Déployez votre application conteneurisée sur Cloud Run :
gcloud run deploy ${SERVICE_NAME} \
--image ${IMAGE_NAME} \
--allow-unauthenticated \
--max-instances=3
Une fois le déploiement effectué, la ligne de commande affiche l'URL du service. À ce stade, le service est opérationnel.
Vous pouvez maintenant accéder au conteneur déployé en ouvrant l'URL du service dans une fenêtre de navigateur quelconque.
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Créer un récepteur Cloud Run
Tâche 5 : Créer un déclencheur d'événement Cloud Pub/Sub
Pour recevoir des événements, l'un des moyens possibles consiste à passer par Cloud Pub/Sub. Les applications personnalisées peuvent publier des messages dans Cloud Pub/Sub, et ces messages peuvent être transmis aux récepteurs Google Cloud Run par le biais d'Eventarc pour Cloud Run.
Créer un déclencheur
- Tout d'abord, obtenez plus de détails sur les paramètres dont vous aurez besoin afin de créer un déclencheur pour les événements provenant de Cloud Pub/Sub :
gcloud eventarc providers describe \
pubsub.googleapis.com
- Créez un déclencheur pour filtrer les événements publiés dans le sujet Cloud Pub/Sub et les envoyer à votre service Cloud Run déployé :
gcloud eventarc triggers create trigger-pubsub \
--destination-run-service=${SERVICE_NAME} \
--event-filters="type=google.cloud.pubsub.topic.v1.messagePublished"
Accéder au sujet
- Le déclencheur Pub/Sub crée un sujet Pub/Sub en arrière-plan. Recherchez-le et attribuez-le à une variable d'environnement :
- Exportez l'ID DU SUJET
export TOPIC_ID=$(gcloud eventarc triggers describe trigger-pubsub \
--format='value(transport.pubsub.topic)')
- Confirmez qu'un ID DE SUJET est disponible
echo ${TOPIC_ID}
Résultat :
projects/{{{project_0.project_id | "PROJECT_ID"}}}/locations/{{{project_0.default_region | "REGION"}}}/providers/pubsub.googleapis.com
Tester le déclencheur
- Vous pouvez vérifier que le déclencheur a été créé en listant tous les déclencheurs :
gcloud eventarc triggers list
Résultat :
NAME: trigger-pubsub
TYPE: google.cloud.pubsub.topic.v1.messagePublished
DESTINATION: Cloud Run service: event-display
ACTIVE: Yes
LOCATION: {{{project_0.default_region | "REGION"}}}
Remarque : Vous devrez peut-être attendre jusqu'à cinq minutes pour que la création du déclencheur se propage et qu'il commence à filtrer les événements.
- Pour simuler l'envoi d'un message par une application personnalisée, vous pouvez utiliser une commande
gcloud pour déclencher un événement :
gcloud pubsub topics publish ${TOPIC_ID} --message="Hello there"
-
Dans le menu de navigation > Sans serveur > Cloud Run, cliquez sur event-display (affichage des événements).
-
Cliquez sur Journaux.
Le récepteur Cloud Run que vous avez créé enregistre le corps du message entrant. Vous pouvez le voir dans la section "Journaux" de votre instance Cloud Run :

Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Créer un déclencheur d'événement Cloud Pub/Sub
Supprimer le déclencheur
Tâche 6 : Créer un déclencheur d'événement de journal d'audit
Ensuite, configurez un déclencheur pour écouter les événements des journaux d'audit. Vous allez écouter les événements Cloud Storage dans les journaux d'audit.
Créer un bucket
- Créez une variable d'environnement pour votre bucket :
export BUCKET_NAME=$(gcloud config get-value project)-cr-bucket
- Créez un bucket Cloud Storage dans la même région que le service Cloud Run déployé :
gsutil mb -p $(gcloud config get-value project) \
-l $(gcloud config get-value run/region) \
gs://${BUCKET_NAME}/
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Créer un bucket
Activer les journaux d'audit
Pour recevoir des événements d'un service, vous devez activer les journaux d'audit.
-
Dans le menu de navigation, sélectionnez IAM et administration > Journaux d'audit.
-
Dans la liste des services, cochez la case Google Cloud Storage.
-
Sur la droite, cliquez sur l'onglet TYPE DE JOURNAL. Écriture (administration) est sélectionné par défaut. Assurez-vous de sélectionner également Lecture administrateur, Lecture de données et Écriture de données, puis cliquez sur Enregistrer.
Tester les journaux d'audit
Pour apprendre à identifier les paramètres, vous allez devoir configurer un déclencheur et effectuer une véritable opération.
- Exécutez la commande suivante pour créer un fichier texte nommé
random.txt :
echo "Hello World" > random.txt
- Importez le fichier
random.txt dans le bucket :
gsutil cp random.txt gs://${BUCKET_NAME}/random.txt
Voyons maintenant quel type de journal d'audit cette mise à jour a généré.
-
Dans Cloud Console, accédez au menu de navigation > Journaux > Explorateur de journaux.
-
Sous Ressource, choisissez Bucket GCS > [Nom du bucket] > Emplacement, puis sélectionnez votre bucket et son emplacement. Cliquez sur Appliquer.

Remarque : L'affichage des journaux d'audit dans l'interface utilisateur de la visionneuse de journaux peut prendre un certain temps. Si vous ne voyez pas Bucket GCS dans la liste des ressources, patientez un peu avant de réessayer.
- Cliquez sur Exécuter la requête.
Une fois la requête exécutée, vous verrez les journaux du bucket de stockage. L'un d'eux doit être storage.buckets.create.
- Notez les valeurs
serviceName, methodName et resourceName. Vous les utiliserez pour créer le déclencheur.
Créer un déclencheur
Vous êtes maintenant prêt à créer un déclencheur d'événement pour les journaux d'audit.
- Obtenez plus de détails sur les paramètres dont vous aurez besoin pour créer le déclencheur :
gcloud eventarc providers describe cloudaudit.googleapis.com
- Créez le déclencheur avec les bons filtres :
gcloud eventarc triggers create trigger-auditlog \
--destination-run-service=${SERVICE_NAME} \
--event-filters="type=google.cloud.audit.log.v1.written" \
--event-filters="serviceName=storage.googleapis.com" \
--event-filters="methodName=storage.objects.create" \
--service-account=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com
Remarque : Paramètre resourceName
- Il existe un champ resourceName facultatif. Si vous indiquez un chemin d'accès complet à une ressource (par exemple, projects/_/buckets/test123), les événements associés à cette ressource spécifique seront filtrés. Si vous ne fournissez aucun chemin d'accès à une ressource, les événements de toutes les ressources correspondant aux valeurs serviceName et methodName fournies seront filtrés. Les noms de ressources partiels (par exemple, "projects/project-id") ne sont pas acceptés et ne fonctionneront pas.
- Pour les methodsNames de type "create" (par exemple, storage.buckets.create pour créer un bucket Cloud Storage), il est préférable de laisser le champ resourceNames vide, car resourceName peut être généré de manière dynamique pour certains serviceNames et ne peut pas être prédit à l'avance.
- Pour les methodNames de type "read", "update" ou "delete" (par exemple, storage.buckets.update pour mettre à jour un bucket Cloud Storage spécifique), vous pouvez spécifier le chemin d'accès complet à la ressource.
Tester le déclencheur
- Affichez la liste de tous les déclencheurs pour vérifier que le déclencheur a bien été créé :
gcloud eventarc triggers list
Résultat :
NAME: trigger-auditlog
TYPE: google.cloud.audit.log.v1.written
DESTINATION: Cloud Run service: event-display
ACTIVE: Yes
LOCATION: {{{project_0.default_region | "REGION"}}}
- Attendez que la création du déclencheur se propage et que celui-ci commence à filtrer les événements (ce processus peut prendre 10 minutes).
Une fois prêt, il filtrera les événements de création et les enverra au service. Vous êtes maintenant prêt à déclencher un événement.
- Importez le même fichier dans le bucket Cloud Storage que précédemment :
gsutil cp random.txt gs://${BUCKET_NAME}/random.txt
- Accédez au menu de navigation > Cloud Run pour vérifier les journaux du service Cloud Run. Vous devriez y voir l'événement reçu.
Cliquez sur Vérifier ma progression pour vérifier que vous avez correctement effectué la tâche ci-dessus.
Créer un déclencheur d'événement de journal d'audit
Supprimer le déclencheur
- Une fois les tests terminés, vous pouvez supprimer le déclencheur :
gcloud eventarc triggers delete trigger-auditlog
Félicitations !
Vous avez découvert les événements pour Cloud Run sur l'infrastructure Google Cloud. Au cours de cet atelier, vous avez effectué les tâches suivantes :
- Utiliser les événements pour Cloud Run
- Créer un récepteur Cloud Run
- Créer un déclencheur d'événement pour Cloud Pub/Sub
- Créer un déclencheur d'événement pour les journaux d'audit
En savoir plus/Étapes suivantes
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 2 mai 2024
Dernier test de l'atelier : 2 mai 2024
Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.