Recevoir des événements directs à partir de Cloud Storage (console Google Cloud)
Ce guide de démarrage rapide vous explique comment recevoir des événements directs à partir de Cloud Storage dans un service Cloud Run non authentifié.
Vous pouvez configurer le déclenchement des notifications en réponse à divers événements ayant lieu au sein d'un bucket Cloud Storage : création, suppression et archivage d'objets, ainsi que mises à jour de métadonnées. Pour en savoir plus, consultez la page Créer un déclencheur pour acheminer des événements Cloud Storage vers Cloud Run.
Vous pouvez suivre ce guide de démarrage rapide dans la console Google Cloud. Pour obtenir des instructions sur l'utilisation de Google Cloud CLI, consultez la page Recevoir des événements directs à partir de Cloud Storage (gcloud CLI).
Dans le cadre de ce guide démarrage rapide, vous allez effectuer les étapes suivantes :
créer un bucket Cloud Storage qui servira de source d'événements ;
déployer un exemple de service sur Cloud Run pour recevoir des événements ;
créer un déclencheur Eventarc pour filtrer et acheminer les événements ;
générer un événement en important un fichier dans le bucket Cloud Storage et l'afficher dans les journaux Cloud Run.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
Avant de commencer
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Créer un bucket Cloud Storage
Ce guide de démarrage rapide utilise Cloud Storage comme source d'événements.Dans la console Google Cloud, accédez à la page Buckets de Cloud Storage.
Cliquez sur
Créer.Saisissez un nom unique pour le bucket.
Par exemple,
hello-bucket
.Cliquez sur Continuer.
Pour le type d'emplacement, sélectionnez Région, puis us-central1 (Iowa).
Acceptez les autres valeurs par défaut.
Cliquez sur Créer.
Une fois la source d'événements créée, vous pouvez déployer le service récepteur d'événements sur Cloud Run.
Déployer le service récepteur d'événements sur Cloud Run
Vous allez déployer un service Cloud Run qui reçoit et consigne les événements.
Dans la console Google Cloud, accédez à la page des services Cloud Run.
Cliquez sur
Créer un service.Dans le formulaire Créer un service :
Sélectionnez Déployer une révision à partir d'une image de conteneur existante.
Cliquez sur Tester avec un exemple de conteneur.
Dans la liste Région, sélectionnez us-central1 (Iowa) pour l'emplacement de votre service.
Dans Authentification, sélectionnez Autoriser les appels non authentifiés.
Pour déployer l'exemple d'image de conteneur, cliquez sur Créer.
Le déploiement du service hello
peut prendre jusqu'à deux minutes.
Créer un déclencheur Eventarc
Le déclencheur Eventarc envoie des événements à partir du bucket Cloud Storage vers le service Cloud Run.Dans la console Google Cloud, accédez à la page Déclencheurs d'Eventarc.
Cliquez sur
Créer un déclencheur.Saisissez un nom de déclencheur.
Par exemple,
hello-trigger
.Dans la liste Type de déclencheur, sélectionnez Sources Google.
Cette action filtre les événements envoyés depuis des fournisseurs Google Cloud (directement ou via des entrées Cloud Audit Logs) ou des fournisseurs utilisant des messages Pub/Sub.
Dans la liste Fournisseur d'événements, sélectionnez Cloud Storage.
Dans la liste Type d'événement, sélectionnez Direct > google.cloud.storage.object.v1.finalized.
Pour le champ Bucket, sélectionnez le bucket Cloud Storage hello-bucket que vous avez créé précédemment.
Si vous y êtes invité, accordez les autorisations suivantes :
- Rôle
iam.serviceAccountTokenCreator
vers le compte de service Pub/Sub - Rôle
pubsub.publisher
vers le compte de service Cloud Storage
- Rôle
Utilisez le compte de service Compute par défaut comme compte de service qui appelle votre service.
Dans la liste Destination de l'événement, sélectionnez Cloud Run.
Pour le service Cloud Run, sélectionnez l'exemple de service hello que vous avez créé précédemment.
Cliquez sur Créer.
La propagation de toutes les autorisations nécessaires à l'agent de service Eventarc peut prendre quelques minutes. Si vous recevez une erreur Permission denied
while using the Eventarc Service Agent
, attendez quelques minutes, puis réessayez. Une fois le déclencheur créé, cela peut prendre jusqu'à deux minutes avant qu'il ne soit pleinement opérationnel.
Générer et afficher un événement
Générez un événement et vérifiez que le déclencheur Eventarc fonctionne comme prévu.
Pour générer un événement, procédez comme suit :
Créez un fichier texte portant le nom
random.txt
et contenant le texte "Hello World".Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Cliquez sur le nom du bucket de stockage que vous avez créé.
Dans l'onglet Objets, cliquez sur Importer des fichiers, puis importez le fichier
random.txt
.
L'importation génère un événement, et le service Cloud Run consigne le message de l'événement.
Pour afficher l'entrée de journal, procédez comme suit :
Dans la console Google Cloud, accédez à la page des services Cloud Run.
Cliquez sur le nom du service que vous avez créé.
Pour récupérer les entrées de journal correspondant à toutes les révisions de ce service, cliquez sur l'onglet Journaux sur la page Informations sur le service. Vous pouvez filtrer les journaux par niveau de gravité.
Recherchez une entrée de journal semblable à ceci :
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
Félicitations ! Vous venez de déployer un service récepteur d'événements sur Cloud Run, de créer un déclencheur Eventarc, de générer un événement à partir de Cloud Storage et de l'afficher dans les journaux Cloud Run.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Bien que Cloud Run ne facture pas un service inutilisé, il se peut que des frais vous soient toujours facturés pour le stockage de l'image de conteneur dans Container Registry, les ressources Cloud Run, et le stockage des fichiers dans votre bucket Cloud Storage.Vous pouvez supprimer votre image, supprimer votre bucket de stockage et supprimer votre service.
Pour supprimer le déclencheur Eventarc :
Dans la console Google Cloud, accédez à la page Déclencheurs d'Eventarc.
Cliquez sur le nom du déclencheur que vous avez créé.
Sur la page des Informations sur le déclencheur, cliquez sur
Supprimer.
Vous pouvez également supprimer votre projet Google Cloud pour éviter des frais. La suppression de votre projet Google Cloud arrête la facturation de toutes les ressources utilisées dans ce projet.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.