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 Ereignis weitergeleitet. an interessierte Ereignisempfänger.

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.

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 auslösen, mit Ereignissen aus BigQuery unter Verwendung von Cloud-Audit-Logs.
  • Als Reaktion auf direkte Ereignisse wie die Aktualisierung eines Cloud Storage- Bucket oder ein Update einer Firebase Remote Config-Vorlage zu erstellen. Siehe zum Beispiel in diesem Schnellstart, in dem Sie Workflows mit direkten Ereignisse aus Cloud Storage
  • Nach Nachrichten, die in einem Pub/Sub-Thema veröffentlicht wurden. Sehen Sie sich zum Beispiel Schnellstart, in dem Sie Workflows mit Pub/Sub-Nachrichten.

Wichtige Hinweise:

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

  • Durch Ereignisse ausgelöste Ausführungen werden nicht wiederholt, wenn die Workflowausführung beginnt, aber schlägt später fehl. Weitere Informationen finden Sie in der Richtlinie für Wiederholungsversuche bei Ereignissen:

  • Das Fenster zur Deduplizierung von Workflows der Verarbeitung von Ereignissen 24 Stunden dauert.

  • Wenn Sie Workflows als Ziel für eine Eventarc-Trigger, Ereignisse, die größer als das Maximum sind Die Größe des Workflows-Arguments löst keine Workflowausführungen aus. Weitere Informationen finden Sie unter Kontingente und Limits.

  • In Projekten, die durch einen Dienstperimeter geschützt sind, werden Ereignisse beim Routing von Ereignissen an Workflows-Ziele, für die Pub/Sub Push-Endpunkt auf eine Workflows-Ausführung festgelegt ist, können Sie neue Pub/Sub-Push-Abos über Eventarc. Das für Push verwendete Dienstkonto die Authentifizierung für den Workflows-Endpunkt in den Dienstperimeter. 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 auslösen“ Abschnitt, wenn Trigger für einen bestimmten Anbieter, Ereignistyp und Workflow-Ziel erstellen

Trigger mit der Konsole erstellen

Die folgenden Schritte zeigen, wie Sie einen Trigger für die Seite Workflows in der Google Cloud Console.

Hinweise

  1. Eventarc and Pub/Sub APIs aktivieren.

    Aktivieren Sie die 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 und Bindestriche. 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 Produktions-App entwickeln, weisen Sie immer die Rollen mit den geringsten Berechtigungen zu. möglich. 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 den 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 Bereich Trigger den Trigger, den Sie aktualisieren möchten, oder Löschen.
    3. Klicken Sie auf Ressource bearbeiten oder Ressource löschen.

Die Workflowausführung wird jetzt durch die Ereignisse ausgelöst, die den Triggern 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