Workflow mit Ereignissen oder Pub/Sub-Nachrichten auslösen

Sie können einen Eventarc-Trigger verwenden, um einen Workflow als Ergebnis eines Ereignisses oder einer Reihe von Ereignissen auszuführen. Die Ereignisse werden von einem Ereignisanbieter an interessierte Ereignisempfänger weitergeleitet.

Eventarc liefert Ereignisse über eine HTTP-Anfrage an den Ereignisempfänger im CloudEvents-Format. Der Workflows-Dienst konvertiert das Ereignis (gemäß der CloudEvents-Spezifikation) in ein JSON-Objekt und übergibt es als Workflow-Laufzeitargument an die Workflowausführung.

Ihr Workflow wird ausgeführt:

  • Wenn ein Audit-Log erstellt wird, das den Filterkriterien des Triggers entspricht. Sehen Sie sich beispielsweise diese Kurzanleitung an, in der Sie Workflows mit Ereignissen aus BigQuery unter Verwendung von Cloud-Audit-Logs auslösen.
  • Als Reaktion auf direkte Ereignisse wie die Aktualisierung eines Cloud Storage-Buckets oder einer Firebase Remote Config-Vorlage. Sehen Sie sich beispielsweise diese Kurzanleitung an, in der Sie Workflows mit direkten Ereignissen aus Cloud Storage auslösen.
  • Nach Nachrichten, die in einem Pub/Sub-Thema veröffentlicht wurden. Sehen Sie sich beispielsweise diese Kurzanleitung an, in der Sie Workflows mit Pub/Sub-Nachrichten auslösen.

Wichtige Hinweise:

  • Ereignisse gelten als zugestellt, sobald die Workflowausführung beginnt. Die eigentliche Ausführung erfolgt asynchron in den Workflows-Diensten.

  • Durch Ereignisse ausgelöste Ausführungen werden nicht wiederholt, wenn die Workflowausführung gestartet wird, später aber fehlschlägt. Weitere Informationen finden Sie unter Richtlinie für Ereigniswiederholungen.

  • Das Deduplizierungsfenster von Workflows für die genau einmalige Verarbeitung von Ereignissen beträgt 24 Stunden.

  • Wenn Sie Workflows als Ziel für einen Eventarc-Trigger verwenden, lösen Ereignisse, die die maximale Größe des Workflows-Arguments überschreiten, keine Workflowausführungen aus. Weitere Informationen finden Sie unter Kontingente und Limits.

  • Wenn Sie in Projekten, die durch einen Dienstperimeter geschützt sind, Ereignisse an Workflow-Ziele weiterleiten, für die der Pub/Sub-Push-Endpunkt auf eine Workflows-Ausführung festgelegt ist, können Sie neue Pub/Sub-Push-Abos nur über Eventarc erstellen. Das für die Push-Authentifizierung für den Workflows-Endpunkt verwendete Dienstkonto muss im Dienstperimeter enthalten sein. Weitere Informationen finden Sie unter Dienstperimeter mit VPC Service Controls einrichten.

Trigger mit der Google Cloud-Befehlszeile erstellen

Wenn Sie einen gcloud eventarc triggers create-Befehl zusammen mit den erforderlichen und optionalen Flags ausführen, können Sie einen Trigger erstellen.

Weitere Informationen finden Sie in der gcloud-Anleitung im Abschnitt "Trigger erstellen", wenn Sie einen Trigger für einen bestimmten Anbieter, Ereignistyp und Workflow-Ziel erstellen.

Trigger mit der Konsole erstellen

In den folgenden Schritten wird beschrieben, wie Sie in der Google Cloud Console auf der Seite Workflows einen Trigger erstellen.

Hinweise

  1. Eventarc and Pub/Sub APIs aktivieren.

    Aktivieren Sie die APIs

  2. Erstellen Sie ein Dienstkonto, damit Eventarc Anfragen an die Workflows API senden kann:

    1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.

      Zur Seite „Dienstkonten“

    2. Wählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.

    3. Geben Sie im Feld Name des Dienstkontos einen Namen ein, der zwischen 6 und 30 Zeichen lang ist.

      Er kann alphanumerische Zeichen in Kleinschreibung und Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie den Namen nicht mehr ändern.

    4. Klicken Sie auf Erstellen und fortfahren.

    5. Gewähren Sie dem neuen Dienstkonto die Rolle workflows.invoker, damit das Konto die Berechtigung zum Auslösen des Workflows hat. Wählen Sie in der Liste Rolle auswählen die Option Workflows > Workflows-Aufrufer aus.

      Wenn Sie eine Produktionsanwendung entwickeln, weisen Sie immer die Rollen mit den geringsten Berechtigungen zu. Weitere Informationen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    6. Klicken Sie auf Fertig.

  3. Damit das Hauptkonto, das Ihre Eventarc-Befehle ausführt, als IAM-Dienstkonto (Identity and Access Management) fungieren kann, weisen Sie eine Rolle zu, mit der das Hauptkonto die Identität des Dienstkontos übernehmen kann.

Trigger konfigurieren

  1. Wenn Sie noch keinen Workflow haben, den Sie auslösen möchten, erstellen und erstellen Sie einen.

  2. Öffnen Sie in der Google Cloud Console die Seite Workflows.

    Zur Seite "Workflows"

  3. Wählen Sie auf der Seite „Workflows“ einen Workflow aus, um die zugehörige Detailseite aufzurufen.

  4. Klicken Sie auf der Seite Workflow-Details auf Ausführen.

  5. Wählen Sie auf der Seite Workflow bearbeiten die Option Neuen Trigger hinzufügen > Eventarc aus.

    Der Bereich Eventarc-Trigger wird geöffnet.

  6. Folgen Sie der Anleitung zum Erstellen eines Triggers für einen bestimmten Anbieter, Ereignistyp undWorkflows -Ziel. Weitere Informationen finden Sie in der Anleitung für die Console im Abschnitt „Trigger erstellen“.

  7. Wählen Sie das Dienstkonto aus, das den Workflow aufruft.

    Damit wird das IAM-Dienstkonto angegeben, dem Sie zuvor die Rolle workflows.invoker zugewiesen haben, damit das Konto die Berechtigung zum Auslösen des Workflows hat.

  8. Klicken Sie auf Trigger speichern.

    Der Eventarc-Trigger wird auf der Seite Workflowdetails auf dem Tab Trigger aufgeführt.

  9. Wenn Sie den Trigger aktualisieren oder löschen möchten, müssen Sie den Workflow bearbeiten:

    1. Klicken Sie auf der Seite Workflow-Details auf Ausführen.
    2. Suchen Sie im Bereich Trigger den Trigger, den Sie aktualisieren oder löschen möchten.
    3. Klicken Sie auf Ressource bearbeiten oder Ressource löschen.

Die Workflowausführung wird jetzt durch die Ereignisse ausgelöst, die den Filterkriterien Ihres Triggers entsprechen.

Trigger mit Terraform erstellen

Sie können mit Terraform einen Trigger für einen Workflow erstellen. Weitere Informationen finden Sie unter Workflow mit Eventarc und Terraform auslösen.

Nächste Schritte