Fehlerbehebung bei Eventarc für Workflows

Auf dieser Seite wird beschrieben, wie Sie Probleme beheben können, die bei der Verwendung von Eventarc für Workflows auftreten können.

Weitere Probleme, die auftreten können, finden Sie unter:

Die Triggererstellung schlägt fehl, da das Workflowziel nicht vorhanden ist

Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
Diese Ausgabe enthält die folgenden Werte:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID
  • LOCATION: Der Speicherort Ihres Workflows
  • WORKFLOW_ID: Der Name Ihres Workflows.

Das passiert, wenn Eventarc den Zielworkflow nicht finden kann. So beheben Sie dies:

  1. Prüfen Sie, ob der Zielworkflow vorhanden und aktiv ist:

    gcloud workflows list --location -

    Die Ausgabe sollte in etwa so aussehen:

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

  2. Achten Sie darauf, dass beim Erstellen des Triggers die richtige Workflow-ID und der Workflow-Speicherort angegeben werden.

Der Trigger wurde erfolgreich erstellt, das Ziel empfängt jedoch keine Ereignisse

Prüfen Sie, ob seit der Erstellung des Triggers genügend Zeit vergangen ist. Es kann bis zu zwei Minuten dauern, bis Ereignisse gesendet werden.

Wenn der Trigger immer noch nicht funktioniert und Ereignisse nicht zugestellt werden:

  1. Von Pub/Sub an das Ziel gesendete Ereignisse werden möglicherweise verworfen. Damit die Ereignisse nicht verworfen werden, richten Sie eine Wiederholungsrichtlinie für Pub/Sub-Abos ein oder leiten Sie nicht zugestellte Nachrichten an ein Thema für unzustellbare Nachrichten weiter (auch als Warteschlange für unzustellbare Nachrichten bezeichnet).

    Bevor Sie das Thema für unzustellbare Nachrichten festlegen, rufen Sie das Thema und das Abo des Triggers ab:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Ersetzen Sie Folgendes:

    • TRIGGER: ID des Triggers oder eine voll qualifizierte Kennzeichnung.
    • LOCATION: Standort des Eventarc-Triggers.
  2. Verwenden Sie die Google Cloud Console, um zu beobachten, ob Nachrichten mit dem Messwert topic/send_message_operation_count im Pub/Sub-Thema veröffentlicht werden.

  3. Wenn keine Nachrichten im Pub/Sub-Thema veröffentlicht werden, prüfen Sie, ob die Quelle Ereignisse generiert:

    • Prüfen Sie bei Ereignissen aus Cloud-Audit-Logs die Logs und achten Sie darauf, dass der überwachte Dienst Logs schreibt. Wenn Logs aufgezeichnet, aber keine Ereignisse zugestellt werden, wenden Sie sich an den Support.
    • Prüfen Sie für Ereignisse aus Cloud Storage die Benachrichtigungen für Ihren Bucket:

      gsutil notification list gs://BUCKET_NAME
      Ersetzen Sie BUCKET_NAME durch den Namen des Buckets:
      Die Ausgabe sollte in etwa so aussehen:

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

      Diese Ausgabe enthält die folgenden Werte:

      • TOPIC_ID: die ID des vorhandenen Pub/Sub-Themas.
      • NOTIFICATION_CONFIG_ID: Die ID der Benachrichtigungskonfiguration.
  4. Wenn Ereignisse gesendet werden, aber keine Workflowausführungen ausgelöst werden, liegt dies wahrscheinlich an einem nicht authentifizierten Aufruf. Der Trigger muss mit einem Dienstkonto verknüpft sein, das zum Erstellen von Workflowausführungen berechtigt ist. Weitere Informationen finden Sie in der Anleitung zum Erstellen eines nutzerverwalteten Dienstkontos im Abschnitt „Vorbereitung auf die Erstellung eines Triggers“ beim Erstellen eines Triggers für einen bestimmten Anbieter, einen Ereignistyp und Ziel des Workflows.

  5. Wenn Nachrichten in einem Pub/Sub-Thema veröffentlicht werden, aber keine Workflow-Ausführungen ausgelöst werden, achten Sie darauf, dass die Eventarc-Nutzlast nicht größer als 512 KB ist. Weitere Informationen zu Ressourcenlimits finden Sie unter Kontingente und Limits.

    1. Rufen Sie in der Cloud Console die Seite Abos auf.

      Zu den Abos

    2. Beobachten Sie nicht bestätigte Nachrichten im Abo. Weitere Informationen finden Sie unter Weitergeleitete unzustellbare Nachrichten beobachten.

    3. Wenn nicht bestätigte Nachrichten vorhanden sind, überwachen Sie die Workflow-Logs für die Methode TriggerPubsubExecution. Weitere Informationen zum Aufrufen von Workflowlogs finden Sie unter Workflowlogs ansehen.

      • Prüfen Sie mit dem Filter Permission 'workflows.executions.create' denied, ob der Trigger mit einem Dienstkonto verknüpft ist, das die Berechtigung zum Auslösen von Workflowausführungen hat. Weitere Informationen zum Zuweisen der entsprechenden Rollen für das Dienstkonto finden Sie im Abschnitt „Erstellen eines Triggers vorbereiten“, wenn Sie einen Trigger für einen bestimmten Anbieter, Ereignistyp und ein Workflows-Ziel erstellen.
      • Verwenden Sie das Schlüsselwort event size exceeded, um zu prüfen, ob die Ereignisgröße über 512 KB liegt.
    4. Wenn Logs aufgezeichnet, aber keine Ereignisse zugestellt werden, wenden Sie sich an den Support.