Résoudre les problèmes liés à Eventarc pour Workflows

Cette page explique comment résoudre les problèmes que vous pouvez rencontrer lors de l'utilisation d'Eventarc pour Workflows.

Pour les autres problèmes que vous pouvez également rencontrer, consultez la page de dépannage pour :

Échec de création du déclencheur, car la cible du workflow n'existe pas

Vous recevez un message d'erreur semblable à celui-ci :

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
Ce résultat inclut les valeurs suivantes :

  • PROJECT_ID : ID de votre projet Google Cloud
  • LOCATION: emplacement de votre workflow
  • WORKFLOW_ID: Nom de votre workflow

Cela se produit lorsque Eventarc n'est pas en mesure de trouver le workflow cible. Pour remédier à ce problème, procédez comme suit :

  1. Assurez-vous que le workflow cible existe et est ACTIF:

    gcloud workflows list --location -

    La sortie devrait ressembler à ce qui suit :

    NAME                                                          STATE   REVISION_ID  UPDATE_TIME
    projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID  ACTIVE  000004-c0c   2021-11-19T14:29:27.530185556Z

  2. Vérifiez que vous avez fourni l'ID et l'emplacement corrects du workflow lors de la création du déclencheur.

Le déclencheur a bien été créé, mais la cible ne reçoit pas d'événements

Vérifiez qu'un délai suffisant s'est écoulé depuis la création du déclencheur. L'envoi des événements peut prendre jusqu'à deux minutes.

Si le déclencheur ne fonctionne toujours pas et que les événements ne sont pas diffusés, procédez comme suit:

  1. Les événements envoyés depuis Pub/Sub vers la cible peuvent être supprimés. Pour vous assurer que les événements ne sont pas supprimés, configurez une Stratégie de nouvelle tentative pour l'abonnement Pub/Sub ou transférez les messages non distribués dans une file d'attente de lettres mortes.

    Avant de définir le sujet des lettres mortes, récupérez le sujet et l'abonnement du déclencheur :

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Remplacez les éléments suivants :

    • TRIGGER : l'ID du déclencheur ou un identifiant complet.
    • LOCATION : l'emplacement du déclencheur Eventarc.
  2. Utilisez la console Google Cloud pour surveiller si les messages sont publiés dans le sujet Pub/Sub avec la métrique topic/send_message_operation_count.

  3. Si les messages ne sont pas publiés dans le sujet Pub/Sub, vérifiez que la source génère des événements:

    • Pour les événements de Cloud Audit Logs, vérifiez les journaux et assurez-vous que le service surveillé émet des journaux. Si les journaux sont enregistrés, mais que les événements ne sont pas diffusés, contactez l'assistance.
    • Pour les événements provenant de Cloud Storage, vérifiez les notifications associées à votre bucket:

      gsutil notification list gs://BUCKET_NAME
      Remplacez BUCKET_NAME par le nom du bucket.
      La sortie devrait ressembler à ce qui suit :

      projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_CONFIG_ID
      Cloud Pub/Sub topic: projects/PROJECT_ID/topics/TOPIC_ID
      Filters:
        Event Types: OBJECT_ARCHIVE

      Ce résultat inclut les valeurs suivantes :

      • TOPIC_ID correspond à l'ID du sujet Pub/Sub existant.
      • NOTIFICATION_CONFIG_ID: ID de la configuration de notification.
  4. Si des événements sont distribués, mais qu'aucune exécution de workflow n'est déclenchée, cela est probablement dû à un appel non authentifié. Assurez-vous que le déclencheur est associé à un compte de service autorisé à créer des exécutions de workflows. Pour en savoir plus, suivez les instructions afin de créer un compte de service géré par l'utilisateur dans la section "Préparer la création d'un déclencheur" lors de la création d'un déclencheur pour un fournisseur, un type d'événement et des Destination des workflows spécifiques.

  5. Si les messages sont publiés dans un sujet Pub/Sub, mais qu'aucune exécution de workflow n'est déclenchée, assurez-vous que la charge utile Eventarc ne dépasse pas 512 Ko. Pour en savoir plus sur les limites de ressources, consultez la page Quotas et limites.

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

      Accéder aux abonnements

    2. Surveillez les messages non confirmés dans l'abonnement. Pour en savoir plus, consultez la section Surveiller les messages non distribuables transférés.

    3. Si des messages non confirmés sont présents, surveillez les journaux de workflow pour la méthode TriggerPubsubExecution. Pour en savoir plus sur l'affichage des journaux de workflow, consultez la page Afficher les journaux de workflow.

      • Utilisez le filtre Permission 'workflows.executions.create' denied pour vérifier si le déclencheur est associé à un compte de service autorisé à déclencher des exécutions de workflow. Pour en savoir plus sur l'attribution des rôles appropriés au compte de service, suivez les instructions de la section "Préparer la création d'un déclencheur" lors de la création d'un déclencheur pour un fournisseur, type d'événement et destination Workflows spécifiques.
      • Utilisez le mot clé event size exceeded pour vérifier si la taille de l'événement est supérieure à 512 Ko.
    4. Si les journaux sont enregistrés, mais que les événements ne sont pas diffusés, contactez l'assistance.