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

Mit einem Eventarc-Trigger können Sie einen Workflow als Ergebnis eines Ereignisses oder einer Reihe von Ereignissen. 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 die -Ereignis in ein JSON-Objekt (nach dem CloudEvents-Spezifikation) und übergibt das Ereignis als Workflow-Laufzeitargument.

Die Ausführung Ihres Workflows wird in folgenden Fällen ausgelöst:

  • Wenn ein Audit-Log erstellt wird, das den Filterkriterien des Triggers entspricht. In dieser Kurzanleitung erfahren Sie beispielsweise, wie Sie Workflows mit Ereignissen aus BigQuery mithilfe von Cloud-Audit-Logs auslösen.
  • Als Reaktion auf direkte Ereignisse wie die Aktualisierung eines Cloud Storage- Bucket oder ein Update einer Firebase Remote Config-Vorlage zu erstellen. Weitere Informationen finden Sie in dieser Kurzanleitung, in der Workflows mit direkten Ereignissen aus Cloud Storage ausgelöst werden.
  • Nach Nachrichten, die in einem Pub/Sub-Thema veröffentlicht wurden. Weitere Informationen finden Sie beispielsweise in dieser Kurzanleitung, in der Workflows mit Pub/Sub-Nachrichten ausgelöst werden.

Wichtige Hinweise:

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

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

  • Das Deduplizierungsfenster für Workflows beträgt 24 Stunden, um eine genau einmal erfolgende Verarbeitung von Ereignissen zu gewährleisten.

  • Wenn Sie Workflows als Ziel für einen Eventarc-Trigger verwenden, lösen Ereignisse, die größer als die maximale Argumentgröße von Workflows sind, 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 Workflow-Ausführung festgelegt ist, können Sie nur über Eventarc neue Pub/Sub-Push-Abos erstellen. Das Dienstkonto, das für die Push-Authentifizierung für den Workflow-Endpunkt verwendet wird, muss in den Dienstperimeter aufgenommen werden. 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 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.

Hinweis

  1. Enable the Eventarc and Pub/Sub APIs.

    Enable the APIs

  2. Dienstkonto erstellen 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 zwischen 6 und 10 ein. 30 Zeichen.

      Er kann alphanumerische Zeichen in Kleinschreibung sowie 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 workflows.invoker verwenden, -Konto die Berechtigung zum Auslösen Ihres Workflows hat. Klicken Sie im Feld Rolle auswählen wählen Sie Workflows > Workflows-Aufrufer aus.

      Wenn Sie eine Produktionsanwendung entwickeln, gewähren Sie immer die geringstmöglichen Rollen. Weitere Informationen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    6. Klicken Sie auf Fertig.

  3. So lassen Sie das Hauptkonto zu, das Ihr Eventarc ausführt Befehle, die als Dienst für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) fungieren können Konto, eine Rolle zuweisen, 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, eines erstellen und bereitstellen.

  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örigen Details aufzurufen Seite.

  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 > aus. Eventarc

    Der Bereich Eventarc-Trigger wird geöffnet.

  6. Folgen Sie der Anleitung zum Erstellen eines Triggers für bestimmte Anbieter, Ereignistypen undWorkflows -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, für das Sie zuvor die Rolle workflows.invoker zugewiesen, sodass das Konto Berechtigung zum Auslösen Ihres Workflows.

  8. Klicken Sie auf Trigger speichern.

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

  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 Abschnitt Trigger nach dem 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 Ereignisse ausgelöst, die den Filterkriterien.

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