Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
Guide de démarrage rapide : Recevoir des événements à l'aide de messages Pub/Sub (Google Cloud CLI)

Recevoir des événements à l'aide de messages Pub/Sub (gcloud CLI)

Ce guide de démarrage rapide explique comment déployer un service Cloud Run non authentifié qui reçoit des événements à l'aide de Pub/Sub.

Dans le cadre de ce guide démarrage rapide, vous allez effectuer les étapes suivantes :

  1. Déployer un service récepteur d'événements sur Cloud Run.

  2. Créer un déclencheur Eventarc.

  3. Publier un message dans un sujet Pub/Sub pour générer un événement et l'afficher dans les journaux Cloud Run.

Avant de commencer

Certaines étapes de ce document risquent de ne pas fonctionner correctement si votre organisation applique des contraintes à votre environnement Google Cloud. Dans ce cas, vous ne pourrez peut-être pas effectuer des tâches telles que la création d'adresses IP publiques ou de clés de compte de service. Si vous effectuez une requête qui renvoie une erreur concernant des contraintes, consultez la section 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. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  4. Activer les API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, 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. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  7. Activer les API Cloud Run, Cloud Logging, Cloud Build, Pub/Sub, Eventarc.

    Activer les API

  8. Installez et initialisez Google Cloud CLI.
  9. Mettez à jour les composants gcloud :
    gcloud components update
  10. Connectez-vous à votre compte :
    gcloud auth login
  11. Définissez les variables de configuration utilisées dans ce guide de démarrage rapide :

    gcloud config set project PROJECT_ID
    gcloud config set run/region us-central1
    gcloud config set run/platform managed
    gcloud config set eventarc/location us-central1
    

    PROJECT_ID correspond à l’ID de votre projet Google Cloud.

Déployer un récepteur d'événements sur Cloud Run

Déployez un service Cloud Run qui reçoit et consigne les événements.

  1. Clonez le dépôt :

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

    Ruby

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

    C#

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

  2. Accédez au répertoire contenant l'exemple de code Cloud Run :

    Node.js

    cd nodejs-docs-samples/eventarc/pubsub/

    Python

    cd python-docs-samples/eventarc/pubsub/

    Go

    cd golang-samples/eventarc/pubsub/

    Java

    cd java-docs-samples/eventarc/pubsub/

    Ruby

    cd ruby-docs-samples/eventarc/pubsub/

    C#

    cd dotnet-docs-samples/eventarc/pubsub/
  3. Créez le conteneur et importez-le dans Cloud Build :

    gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/events-pubsub
    
  4. Déployez l'image de conteneur dans Cloud Run :

    gcloud run deploy helloworld-events-pubsub-quickstart \
        --image gcr.io/$(gcloud config get-value project)/events-pubsub \
        --allow-unauthenticated
    

Lorsque l'URL du service s'affiche, cela signifie que le déploiement est terminé.

Créer un déclencheur Eventarc

Le déclencheur d'événements envoie des messages au service récepteur d'événements déployé sur Cloud Run lorsqu'un message est publié dans le sujet Pub/Sub.

  1. Créez un déclencheur pour écouter les messages Pub/Sub :

    Nouveau sujet Pub/Sub

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-quickstart \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished"
    

    Cela crée un sujet Pub/Sub et un déclencheur associé nommé events-pubsub-trigger.

    Sujet Pub/Sub existant

    gcloud eventarc triggers create events-pubsub-trigger \
      --destination-run-service=helloworld-events-pubsub-quickstart \
      --destination-run-region=us-central1 \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
      --transport-topic=projects/PROJECT_ID/topics/TOPIC_ID
    

    Remplacez l'élément suivant :

    • PROJECT_ID correspond à votre ID de projet Google Cloud.
    • TOPIC_ID correspond à l'ID du sujet Pub/Sub existant.

    Cela crée un déclencheur nommé events-pubsub-trigger pour le sujet Pub/Sub existant.

  2. Vérifiez que le déclencheur a bien été créé :

    gcloud eventarc triggers list --location=us-central1
    

Envoyer et afficher des événements dans un sujet Pub/Sub

Les événements Eventarc sont des messages publiés dans un sujet Pub/Sub. Pour envoyer des événements à l'aide d'un sujet Pub/Sub :

  1. Recherchez et définissez le sujet Pub/Sub en tant que variable d'environnement :

    export RUN_TOPIC=$(gcloud eventarc triggers describe events-pubsub-trigger \
        --format='value(transport.pubsub.topic)')
    
  2. Envoyez un message au sujet Pub/Sub pour générer un événement :

    gcloud pubsub topics publish $RUN_TOPIC --message "Runner"
    

    L'événement est envoyé au service Cloud Run, qui consigne le message d'événement.

  3. Pour afficher le message d'événement, accédez aux journaux du service Cloud Run :

    1. Accédez à Google Cloud Console.
    2. Cliquez sur le service helloworld-events-pubsub-quickstart.
    3. Sélectionnez l'onglet Journaux.

      L'affichage des journaux peut nécessiter quelques instants. S'ils n'apparaissent pas immédiatement, patientez et vérifiez de nouveau.

  4. Recherchez le message "Hello Runner!".

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 Pub/Sub et de l'afficher dans les journaux Cloud Run.

Nettoyer

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 Eventarc et les messages Pub/Sub.

Vous pouvez supprimer votre image, supprimer le sujet Pub/Sub et supprimer l'abonnement Pub/Sub. Pour supprimer le déclencheur Eventarc :

gcloud eventarc triggers delete events-pubsub-trigger

Vous pouvez également supprimer votre projet Google Cloud pour éviter des frais. La suppression de votre projet 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.

Étape suivante