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 :

  1. créer un bucket Cloud Storage qui servira de source d'événements ;

  2. déployer un exemple de service sur Cloud Run pour recevoir des événements ;

  3. créer un déclencheur Eventarc pour filtrer et acheminer les événements ;

  4. 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 :

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é.

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Cloud Build and Eventarc.

    Activer les API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activer les API Cloud Build and Eventarc.

    Activer les API

Créer un bucket Cloud Storage

Ce guide de démarrage rapide utilise Cloud Storage comme source d'événements.

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

    Accéder à Cloud Storage

  2. Cliquez sur  Créer.

  3. Saisissez un nom unique pour le bucket.

    Par exemple, hello-bucket.

  4. Cliquez sur Continuer.

  5. Pour le type d'emplacement, sélectionnez Région, puis us-central1 (Iowa).

  6. Acceptez les autres valeurs par défaut.

  7. Cliquez sur Create (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.

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

    Accédez à Cloud Run

  2. Cliquez sur Créer un service.

  3. Dans le formulaire Créer un service :

    1. Sélectionnez Déployer une révision à partir d'une image de conteneur existante.

    2. Cliquez sur Tester avec un exemple de conteneur.

    3. Dans la liste Région, sélectionnez us-central1 (Iowa) pour l'emplacement de votre service.

    4. Dans Authentification, sélectionnez Autoriser les appels non authentifiés.

    5. 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.

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

    Accéder à la page "Déclencheurs"

  2. Cliquez sur Créer un déclencheur.

  3. Saisissez un nom de déclencheur.

    Par exemple, hello-trigger.

  4. Sélectionnez un type de déclencheur :

    • Propriétaire : 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.
    • Tiers : filtre les événements envoyés depuis des fournisseurs tiers.
  5. Dans la liste Fournisseur d'événements, sélectionnez Sources Google > Cloud Storage.

  6. Dans la liste Type d'événement, sélectionnez Direct > google.cloud.storage.object.v1.finalized.

  7. Pour le champ Bucket, sélectionnez le bucket Cloud Storage hello-bucket que vous avez créé précédemment.

  8. Si vous y êtes invité, accordez les autorisations suivantes :

    • Rôle iam.serviceAccountTokenCreator pour le compte de service Pub/Sub
    • Rôle pubsub.publisher vers le compte de service Cloud Storage
  9. Utilisez le compte de service Compute par défaut comme compte de service qui appelle votre service.

  10. Dans la liste Destination de l'événement, sélectionnez Cloud Run.

  11. Pour le service Cloud Run, sélectionnez l'exemple de service hello que vous avez créé précédemment.

  12. 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.

  1. Pour générer un événement, procédez comme suit :

    1. Créez un fichier texte portant le nom random.txt et contenant le texte "Hello World".

    2. Dans la console Google Cloud, accédez à la page Cloud Storage.

      Accéder à la page "Buckets"

    3. Cliquez sur le nom du bucket de stockage que vous avez créé.

    4. 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.

  2. Pour afficher l'entrée de journal, procédez comme suit :

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

      Accédez à Cloud Run

    2. Cliquez sur le nom du service que vous avez créé.

    3. 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é.

    4. 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 :

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

    Accéder à la page "Déclencheurs"

  2. Cliquez sur le nom du déclencheur que vous avez créé.

  3. 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.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes