Créer un déclencheur pour Cloud Run pour Anthos

Un déclencheur Eventarc déclare votre intérêt pour un événement ou un ensemble d'événements spécifique. Vous pouvez configurer le routage d'événements en spécifiant des filtres pour le déclencheur, y compris la source de l'événement et le service Cloud Run pour Anthos cible.

Les requêtes adressées à votre service sont déclenchées par des messages publiés sur un sujet Pub/Sub, ou par la création d'un journal d'audit qui correspond aux critères de filtrage du déclencheur.

Avant de commencer

Workload Identity est la solution recommandée pour accéder aux services Google Cloud à partir des applications s'exécutant dans Google Kubernetes Engine (GKE) en raison de ses propriétés de sécurité renforcée et de sa facilité de gestion. Il est également nécessaire de transférer les événements Cloud Run pour Anthos à l'aide d'Eventarc. Assurez-vous que Workload Identity est activé sur votre cluster GKE.

Pour en savoir plus, consultez la page Utiliser Workload Identity.

Préparer la création d'un déclencheur

Pour chaque déclencheur ciblant un service Cloud Run pour Anthos, Eventarc crée un composant de redirecteur d'événement. Eventarc nécessite des autorisations pour installer le composant et gérer les ressources dans le cluster GKE. Avant de créer un déclencheur Eventarc pour les destinations Cloud Run pour Anthos, veillez à effectuer les tâches suivantes.

Activez l'API Eventarc

Pour afficher et attribuer des rôles IAM (Identity and Access Management), vous devez activer l'API Eventarc pour votre projet. Vous ne pouvez pas voir les rôles Eventarc dans Cloud Console tant que vous n'avez pas activé l'API.

gcloud services enable eventarc.googleapis.com

Créer un compte de service

Créez un compte de service géré par l'utilisateur si vous n'en avez pas déjà un, puis accordez-lui les rôles et les autorisations nécessaires pour qu'Eventarc puisse gérer les événements pour les destinations Cloud Run pour Anthos.

  1. Définissez la variable de configuration du projet :

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud. Vous pouvez trouver l'ID de votre projet sur la page de Tableau de bord de Google Cloud Console.

  2. Créez un compte de service utilisé lors de la création de déclencheurs :

    TRIGGER_SA=SA_NAME
    gcloud iam service-accounts create $TRIGGER_SA

    Remplacez SA_NAME par le nom du compte de service. Il doit comporter entre 6 et 30 caractères alphanumériques pouvant inclure des minuscules et des tirets. Une fois le compte de service créé, vous ne pouvez pas en modifier le nom.

  3. Attribuez les rôles appropriés au compte de service :

    Cloud Audit Logs

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/eventarc.eventReceiver"
    

    Cloud Storage

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/eventarc.eventReceiver"
    

    Sujet Pub/Sub

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/pubsub.subscriber"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member "serviceAccount:$TRIGGER_SA@PROJECT_NUMBER.iam.gserviceaccount.com" \
      --role "roles/monitoring.metricWriter"
    
    

    Remplacez PROJECT_NUMBER par votre numéro de projet Google Cloud. Le numéro de projet se trouve sur la page Tableau de bord de Google Cloud Console.

  4. Si vous créez un déclencheur Cloud Storage, attribuez le rôle pubsub.publisher au compte de service Cloud Storage :

    SERVICE_ACCOUNT="$(gsutil kms serviceaccount -p PROJECT_ID)"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:${SERVICE_ACCOUNT}" \
        --role='roles/pubsub.publisher'
    

Activer les destinations GKE

Pour permettre à Eventarc de gérer les ressources du cluster GKE, activez les destinations GKE et liez le compte de service Eventarc aux rôles requis.

  1. Activez les destinations GKE pour Eventarc :

    gcloud eventarc gke-destinations init
    
  2. Lorsque vous êtes invité à lier les rôles requis, saisissez y.

    Les rôles suivants sont liés :

    • roles/compute.viewer
    • roles/container.developer
    • roles/iam.serviceAccountAdmin

Créer un déclencheur à l'aide de Google Cloud CLI

Vous pouvez créer un déclencheur en exécutant une commande gcloud eventarc triggers create, associée aux options obligatoires et facultatives.

Cloud Audit Logs

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-gke-cluster=DESTINATION_GKE_CLUSTER \
    --destination-gke-location=DESTINATION_GKE_LOCATION \
    --destination-gke-namespace=DESTINATION_GKE_NAMESPACE \
    --destination-gke-service=DESTINATION_GKE_SERVICE \
    --destination-gke-path=DESTINATION_GKE_PATH \
    --event-filters="type=google.cloud.audit.log.v1.written" \
    --event-filters="serviceName=SERVICE_NAME" \
    --event-filters="methodName=METHOD_NAME" \
    --service-account=TRIGGER_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Remplacez les éléments suivants :

  • TRIGGER est l'ID du déclencheur ou un identifiant complet.
  • LOCATION : l'emplacement du déclencheur Eventarc. Pour éviter les problèmes de performances et de résidence des données occasionnés par un déclencheur global, il doit correspondre à l'emplacement du service Google Cloud qui génère les événements. Vous pouvez également définir la propriété eventarc/location (par exemple, gcloud config set eventarc/location us-central1). Pour en savoir plus, consultez la page Emplacements Eventarc.
  • DESTINATION_GKE_CLUSTER : nom du cluster GKE dans lequel le service Cloud Run pour Anthos cible qui reçoit des événements est en cours d'exécution.
  • DESTINATION_GKE_LOCATION : emplacement où se trouve le service Cloud Run pour Anthos de destination. Si elle n'est pas spécifiée, il est supposé que le service se trouve dans la même région que le déclencheur. Pour en savoir plus, consultez la page Emplacements Cloud Run pour Anthos sur Google Cloud.
  • DESTINATION_GKE_NAMESPACE : espace de noms dans lequel le service Cloud Run pour Anthos de destination est exécuté. S'il n'est pas spécifié, l'espace de noms default est utilisé.
  • DESTINATION_GKE_SERVICE : nom du service Cloud Run pour Anthos qui reçoit les événements du déclencheur. Le service doit se trouver dans la même région que le déclencheur, sauf si son emplacement est global. Le service doit se trouver dans le même projet que le déclencheur et recevoir des événements sous forme de requêtes HTTP POST envoyées à son chemin d'URL racine (/), à chaque déclenchement de l'événement.
  • (Facultatif) DESTINATION_GKE_PATH : chemin d'accès relatif que vous spécifiez sur le service de destination Cloud Run pour Anthos auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.
  • SERVICE_NAME : l'identifiant du service Google Cloud.
  • METHOD_NAME : identifiant de l'opération.
  • TRIGGER_SERVICE_ACCOUNT : adresse e-mail du compte de service IAM associé au déclencheur et auquel vous avez précédemment attribué des rôles spécifiques requis par Eventarc. Par exemple, $TRIGGER_SA@PROJECT_ID.iam.gserviceaccount.com
  • PROJECT_ID : ID de votre projet Google Cloud.

Remarques :

  • Ces options sont obligatoires :
    • --event-filters="type=google.cloud.audit.log.v1.written"
    • --event-filters="serviceName=VALUE"
    • --event-filters="methodName=VALUE"
  • Pour obtenir la liste des événements du journal d'audit compatibles avec Eventarc, y compris les valeurs serviceName et methodName, consultez la section Événements compatibles avec Eventarc.
  • Chaque déclencheur peut comporter plusieurs filtres d'événement, spécifiés dans une option --event-filters=[ATTRIBUTE=VALUE,...] et séparés par une virgule, ou vous pouvez répéter l'option pour ajouter d'autres filtres. Seuls les événements correspondant à tous les filtres sont envoyés à la destination. Les caractères génériques et les expressions régulières ne sont pas acceptés. Consultez la section Déterminer des filtres d'événements pour Cloud Audit Logging.
  • Vous pouvez éventuellement filtrer les événements associés à une ressource spécifique en utilisant l'option --event-filters="resourceName=VALUE" et en spécifiant le chemin d'accès complet à la ressource. Omettez l'option pour les ressources créées de manière dynamique, dont les identifiants sont générés au moment de la création.

Exemple :

  gcloud eventarc triggers create cal-gke-trigger \
      --location=us-central1 \
      --destination-gke-cluster=gke-events-cluster \
      --destination-gke-location=us-central1-a \
      --destination-gke-namespace=default \
      --destination-gke-service=helloworld-events \
      --destination-gke-path=/ \
      --event-filters="type=google.cloud.audit.log.v1.written" \
      --event-filters="serviceName=storage.googleapis.com" \
      --event-filters="methodName=storage.buckets.update" \
      --event-filters="resourceName=projects/_/buckets/eventarc-bucket/objects/random.txt" \
      --service-account=${TRIGGER_SA}@${PROJECT_ID}.iam.gserviceaccount.com

Cela crée un déclencheur appelé cal-gke-trigger pour les journaux d'audit écrits par storage.googleapis.com et pour l'opération identifiée comme storage.buckets.update.

Cloud Storage

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-gke-cluster=DESTINATION_GKE_CLUSTER \
    --destination-gke-location=DESTINATION_GKE_LOCATION \
    --destination-gke-namespace=DESTINATION_GKE_NAMESPACE \
    --destination-gke-service=DESTINATION_GKE_SERVICE \
    --destination-gke-path=DESTINATION_GKE_PATH \
    --event-filters="type=EVENT_FILTER_TYPE" \
    --event-filters="bucket=BUCKET" \
    --service-account=TRIGGER_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Remplacez les éléments suivants :

  • TRIGGER est l'ID du déclencheur ou un identifiant complet.
  • LOCATION : l'emplacement du déclencheur Eventarc. Le bucket Cloud Storage doit se trouver dans le même projet Google Cloud et dans la même région ou emplacement multirégional que le déclencheur Eventarc. Vous pouvez également définir la propriété eventarc/location (par exemple, gcloud config set eventarc/location us-central1). Pour en savoir plus, consultez la page Emplacements Eventarc.
  • DESTINATION_GKE_CLUSTER : nom du cluster GKE dans lequel le service Cloud Run pour Anthos cible qui reçoit des événements est en cours d'exécution.
  • DESTINATION_GKE_LOCATION : emplacement où se trouve le service Cloud Run pour Anthos de destination. Si elle n'est pas spécifiée, il est supposé que le service se trouve dans la même région que le déclencheur. Pour en savoir plus, consultez la page Emplacements Cloud Run pour Anthos sur Google Cloud.
  • DESTINATION_GKE_NAMESPACE : espace de noms dans lequel le service Cloud Run pour Anthos de destination est exécuté. S'il n'est pas spécifié, l'espace de noms default est utilisé.
  • DESTINATION_GKE_SERVICE : nom du service Cloud Run pour Anthos qui reçoit les événements du déclencheur. Le service doit se trouver dans la même région que le déclencheur, sauf si son emplacement est global. Le service doit se trouver dans le même projet que le déclencheur et recevoir des événements sous forme de requêtes HTTP POST envoyées à son chemin d'URL racine (/), à chaque déclenchement de l'événement.
  • (Facultatif) DESTINATION_GKE_PATH : chemin d'accès relatif que vous spécifiez sur le service de destination Cloud Run pour Anthos auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.
  • EVENT_FILTER_TYPE : l'identifiant de l'événement Cloud Storage et peut être l'un des éléments suivants :
    • google.cloud.storage.object.v1.finalized : cet événement est envoyé lorsqu'un nouvel objet est créé dans le bucket (ou qu'un objet existant est remplacé et qu'une nouvelle génération de cet objet est créée).
    • google.cloud.storage.object.v1.archived : cet événement est envoyé lorsqu'une version en ligne d'un objet est archivée ou supprimée. Cet événement est uniquement envoyé pour les buckets avec gestion des versions.
    • google.cloud.storage.object.v1.deleted : cet événement est envoyé lorsqu'un objet est définitivement supprimé. En fonction du paramètre de gestion des versions d'objet des buckets, cela signifie :
      • pour les buckets avec gestion des versions, que celui-ci n'est envoyé que lorsqu'une version est définitivement supprimée (mais pas lorsqu'un objet est archivé) ;
      • pour les buckets sans gestion de versions, que celui-ci est envoyé lorsqu'un objet est supprimé ou écrasé.
    • google.cloud.storage.object.v1.metadataUpdated : cet événement est envoyé lorsque les métadonnées d'un objet existant changent.
  • BUCKET est l'identifiant unique du bucket Cloud Storage.
  • TRIGGER_SERVICE_ACCOUNT : adresse e-mail du compte de service IAM associé au déclencheur et auquel vous avez précédemment attribué des rôles spécifiques requis par Eventarc. Par exemple, $TRIGGER_SA@PROJECT_ID.iam.gserviceaccount.com
  • PROJECT_ID correspond à votre ID de projet Google Cloud.

Remarques :

  • Ces options sont obligatoires :
    • --event-filters="type=EVENT_FILTER_TYPE"
    • --event-filters="bucket=BUCKET"
  • Une fois le déclencheur créé, EVENT_FILTER_TYPE ne peut plus être modifié. À la place, vous devez créer un nouveau déclencheur et supprimer l'ancien.
  • Les événements sont envoyés via des notifications Pub/Sub issues de Cloud Storage. Configurer trop de notifications enregistrées sur le même bucket peut entraîner le dépassement de la limite de notifications du bucket, comme indiqué par l'erreur Cloud Storage bucket ...: Pub/Sub notification limit reached. Le bucket peut comporter jusqu'à 10 configurations de notification déclenchant un événement spécifique. Consultez la page Quotas et limites pour Cloud Storage afin d'en savoir plus sur les quotas et les limites.
  • Chaque déclencheur peut comporter plusieurs filtres d'événement, spécifiés dans une option --event-filters=[ATTRIBUTE=VALUE,...] et séparés par une virgule, ou vous pouvez répéter l'option pour ajouter d'autres filtres. Seuls les événements correspondant à tous les filtres sont envoyés à la destination. Les caractères génériques et les expressions régulières ne sont pas acceptés.
  • L'option --service-account permet de spécifier l'adresse e-mail du compte de service IAM (Identity and Access Management) associée au déclencheur.
  • (Facultatif) DESTINATION_GKE_PATH : chemin d'accès relatif que vous spécifiez sur le service de destination Cloud Run pour Anthos auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.

Exemple :

  gcloud eventarc triggers create gcs-gke-trigger \
      --location=us-central1 \
      --destination-gke-cluster=gke-events-cluster \
      --destination-gke-location=us-central1-a \
      --destination-gke-namespace=default \
      --destination-gke-service=helloworld-events \
      --destination-gke-path=/ \
      --event-filters=type=google.cloud.storage.object.v1.finalized \
      --event-filters="bucket=my-project-bucket" \
      --service-account=${TRIGGER_SA}@${PROJECT_ID}.iam.gserviceaccount.com

Cette commande crée un déclencheur appelé gcs-gke-trigger pour le bucket Cloud Storage my-project-bucket et l'événement identifié en tant que google.cloud.storage.object.v1.finalized.

Sujet Pub/Sub existant

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-gke-cluster=DESTINATION_GKE_CLUSTER \
    --destination-gke-location=DESTINATION_GKE_LOCATION \
    --destination-gke-namespace=DESTINATION_GKE_NAMESPACE \
    --destination-gke-service=DESTINATION_GKE_SERVICE \
    --destination-gke-path=DESTINATION_GKE_PATH \
    --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --transport-topic=projects/PROJECT_ID/topics/TOPIC_ID \
    --service-account=TRIGGER_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Remplacez l'élément suivant :

  • TRIGGER est l'ID du déclencheur ou un identifiant complet.
  • LOCATION : l'emplacement du déclencheur Eventarc. Pour éviter les problèmes de performances et de résidence des données occasionnés par un déclencheur global, il doit correspondre à l'emplacement du service Google Cloud qui génère les événements. Vous pouvez également définir la propriété eventarc/location (par exemple, gcloud config set eventarc/location us-central1). Pour en savoir plus, consultez la page Emplacements Eventarc.
  • DESTINATION_GKE_CLUSTER : nom du cluster GKE dans lequel le service Cloud Run pour Anthos cible qui reçoit des événements est en cours d'exécution.
  • DESTINATION_GKE_LOCATION : emplacement où se trouve le service Cloud Run pour Anthos de destination. Si elle n'est pas spécifiée, il est supposé que le service se trouve dans la même région que le déclencheur. Pour en savoir plus, consultez la page Emplacements Cloud Run pour Anthos sur Google Cloud.
  • DESTINATION_GKE_NAMESPACE : espace de noms dans lequel le service Cloud Run pour Anthos de destination est exécuté. S'il n'est pas spécifié, l'espace de noms default est utilisé.
  • DESTINATION_GKE_SERVICE : nom du service Cloud Run pour Anthos qui reçoit les événements du déclencheur. Le service doit se trouver dans la même région que le déclencheur, sauf si son emplacement est global. Le service doit se trouver dans le même projet que le déclencheur et recevoir des événements sous forme de requêtes HTTP POST envoyées à son chemin d'URL racine (/), à chaque déclenchement de l'événement.
  • (Facultatif) DESTINATION_GKE_PATH : chemin d'accès relatif que vous spécifiez sur le service de destination Cloud Run pour Anthos auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.
  • PROJECT_ID correspond à votre ID de projet Google Cloud.
  • TOPIC_ID correspond à l'ID du sujet Pub/Sub existant. Le sujet doit se trouver dans le même projet que le déclencheur.
  • TRIGGER_SERVICE_ACCOUNT : adresse e-mail du compte de service IAM associé au déclencheur et auquel vous avez précédemment attribué des rôles spécifiques requis par Eventarc. Par exemple, $TRIGGER_SA@PROJECT_ID.iam.gserviceaccount.com

Notes :

  • L'option --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" est obligatoire.
  • Chaque déclencheur peut comporter plusieurs filtres d'événement, spécifiés dans une option --event-filters=[ATTRIBUTE=VALUE,...] et séparés par une virgule, ou vous pouvez répéter l'option pour ajouter d'autres filtres. Seuls les événements correspondant à tous les filtres sont envoyés à la destination. Les caractères génériques et les expressions régulières ne sont pas acceptés.
  • L'option --transport-topic permet de spécifier l'ID du sujet Pub/Sub existant ou son identifiant complet.
  • Par défaut, les abonnements Pub/Sub créés pour Eventarc persistent, quelle que soit l'activité, et n'expirent pas. Pour modifier la durée d'inactivité, consultez la section Gérer les abonnements.

Exemple :

  gcloud eventarc triggers create pubsub-gke-trigger-existing \
      --destination-gke-cluster=gke-events-cluster \
      --destination-gke-location=us-central1-a \
      --destination-gke-namespace=default \
      --destination-gke-service=helloworld \
      --destination-gke-path=/ \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
      --transport-topic=projects/${PROJECT_ID}/topics/${TOPIC_ID} \
      --service-account=${TRIGGER_SA}@${PROJECT_ID}.iam.gserviceaccount.com

Cela crée un déclencheur nommé pubsub-gke-trigger-existing pour le sujet Pub/Sub identifié par projects/${PROJECT_ID}/topics/${TOPIC_ID}.

Nouveau sujet Pub/Sub

gcloud eventarc triggers create TRIGGER \
    --location=LOCATION \
    --destination-gke-cluster=DESTINATION_GKE_CLUSTER \
    --destination-gke-location=DESTINATION_GKE_LOCATION \
    --destination-gke-namespace=DESTINATION_GKE_NAMESPACE \
    --destination-gke-service=DESTINATION_GKE_SERVICE \
    --destination-gke-path=DESTINATION_GKE_PATH \
    --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
    --service-account=TRIGGER_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Remplacez les éléments suivants :

  • TRIGGER est l'ID du déclencheur ou un identifiant complet.
  • LOCATION : l'emplacement du déclencheur Eventarc. Pour éviter les problèmes de performances et de résidence des données occasionnés par un déclencheur global, il doit correspondre à l'emplacement du service Google Cloud qui génère les événements. Vous pouvez également définir la propriété eventarc/location (par exemple, gcloud config set eventarc/location us-central1). Pour en savoir plus, consultez la page Emplacements Eventarc.
  • DESTINATION_GKE_CLUSTER : nom du cluster GKE dans lequel le service Cloud Run pour Anthos cible qui reçoit des événements est en cours d'exécution.
  • DESTINATION_GKE_LOCATION : emplacement où se trouve le service Cloud Run pour Anthos de destination. Si elle n'est pas spécifiée, il est supposé que le service se trouve dans la même région que le déclencheur. Pour en savoir plus, consultez la page Emplacements Cloud Run pour Anthos sur Google Cloud.
  • DESTINATION_GKE_NAMESPACE : espace de noms dans lequel le service Cloud Run pour Anthos de destination est exécuté. S'il n'est pas spécifié, l'espace de noms default est utilisé.
  • DESTINATION_GKE_SERVICE : nom du service Cloud Run pour Anthos qui reçoit les événements du déclencheur. Le service doit se trouver dans la même région que le déclencheur, sauf si son emplacement est global. Le service doit se trouver dans le même projet que le déclencheur et recevoir des événements sous forme de requêtes HTTP POST envoyées à son chemin d'URL racine (/), à chaque déclenchement de l'événement.
  • (Facultatif) DESTINATION_GKE_PATH : chemin d'accès relatif que vous spécifiez sur le service de destination Cloud Run pour Anthos auquel les événements du déclencheur doivent être envoyés. Par exemple : /, /route, route, route/subroute.
  • TRIGGER_SERVICE_ACCOUNT : adresse e-mail du compte de service IAM associé au déclencheur et auquel vous avez précédemment attribué des rôles spécifiques requis par Eventarc. Par exemple, $TRIGGER_SA@PROJECT_ID.iam.gserviceaccount.com
  • PROJECT_ID correspond à votre ID de projet Google Cloud.

Remarques :

  • L'option --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" est obligatoire.
  • Chaque déclencheur peut comporter plusieurs filtres d'événement, spécifiés dans une option --event-filters=[ATTRIBUTE=VALUE,...] et séparés par une virgule, ou vous pouvez répéter l'option pour ajouter d'autres filtres. Seuls les événements correspondant à tous les filtres sont envoyés à la destination. Les caractères génériques et les expressions régulières ne sont pas acceptés.
  • Par défaut, les abonnements Pub/Sub créés pour Eventarc persistent, quelle que soit l'activité, et n'expirent pas. Pour modifier la durée d'inactivité, consultez la section Gérer les abonnements.

Exemple :

  gcloud eventarc triggers create pubsub-gke-trigger-new \
      --location=us-central1 \
      --destination-gke-cluster=gke-events-cluster \
      --destination-gke-location=us-central1-a \
      --destination-gke-namespace=default \
      --destination-gke-service=helloworld \
      --destination-gke-path=/ \
      --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
      --service-account=${TRIGGER_SA}@${PROJECT_ID}.iam.gserviceaccount.com

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

Créer un déclencheur à l'aide de Google Cloud Console

Vous pouvez créer un déclencheur via Cloud Console. Pour en savoir plus, consultez la section Créer un déclencheur Eventarc via Cloud Console.

Répertorier un déclencheur à l'aide de Google Cloud CLI

Vous pouvez confirmer la création d'un déclencheur en répertoriant les déclencheurs Eventarc :

gcloud eventarc triggers list --location=LOCATION

Remplacez LOCATION par l'ID ou l'identifiant complet de l'emplacement du déclencheur Eventarc. Par exemple, us-central1.

Pour plus d'informations sur la gestion des déclencheurs Eventarc, consultez la page Gérer les déclencheurs.

Étape suivante