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 wandelt das Ereignis gemäß der CloudEvents-Spezifikation in ein JSON-Objekt um und übergibt es als Workflow-Laufzeitargument an die Workflow-Ausführung.

Eine Ausführung des Workflows wird ausgelöst:

  • Wenn ein Audit-Log erstellt wird, das den Filterkriterien des Triggers entspricht. In dieser Kurzanleitung können Sie beispielsweise Workflows mit Ereignissen aus BigQuery mithilfe von Cloud-Audit-Logs auslösen.
  • Als Reaktion auf direkte Ereignisse wie eine Aktualisierung eines Cloud Storage-Buckets oder eine Aktualisierung einer Firebase Remote Config-Vorlage. In dieser Kurzanleitung können Sie beispielsweise Workflows mit direkten Ereignissen aus Cloud Storage auslösen.
  • Nach in einem Pub/Sub-Thema veröffentlichte Nachrichten. In dieser Kurzanleitung können Sie beispielsweise Workflows mit Pub/Sub-Nachrichten auslösen.

Wichtige Hinweise:

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

  • Von Ereignissen ausgelöste Ausführungen werden nicht wiederholt, wenn die Workflowausführung gestartet wird, aber später fehlschlägt. Weitere Informationen finden Sie in der Richtlinie für Wiederholungsversuche von Ereignissen.

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

  • Wenn Sie in Projekten, die durch einen Dienstperimeter geschützt sind, Ereignisse an Workflowziele weiterleiten, für die der Pub/Sub-Push-Endpunkt auf eine Workflow-Ausführung festgelegt ist, können Sie neue Pub/Sub-Push-Abos nur über Eventarc erstellen. Das Dienstkonto, das für die Push-Authentifizierung für den Workflows-Endpunkt verwendet wird, 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 Anleitung für gcloud im Abschnitt „Trigger erstellen“, wenn Sie einen Trigger für einen bestimmten Anbieter, einen bestimmten Ereignistyp und ein Workflows-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 mit 6 bis 30 Zeichen ein.

      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 Ihres Workflows hat. Wählen Sie in der Liste Rolle auswählen die Option Workflows > Workflows-Aufrufer aus.

      Wenn Sie eine Produktions-App entwickeln, weisen Sie Rollen immer so weit wie möglich 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 Dienstkonto für Identity and Access Management (IAM) fungieren kann, gewähren Sie eine Rolle, 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 stellen Sie einen bereit.

  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 bestimmte Anbieter, Ereignistypen und Workflows-Ziele und lesen Sie die Anleitung in der Konsole im Abschnitt „Trigger erstellen“.

  7. Wählen Sie das Dienstkonto aus, das Ihren 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 Ihres 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 des 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