Sie können einen Eventarc-Trigger verwenden, um einen Workflow als Reaktion auf ein Ereignis oder eine 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 in ein JSON-Objekt (gemäß der CloudEvents-Spezifikation) und übergibt das Ereignis als Workflow-Laufzeitargument an die Workflow-Ausführung.
Die Ausführung Ihres Workflows wird anhand der folgenden Situationen ausgelöst:
- Wenn ein Audit-Log erstellt wird, das den Filterkriterien des Triggers entspricht. Ein Beispiel finden Sie in dieser Kurzanleitung, in der Sie Workflows mit Ereignissen aus BigQuery mithilfe von Cloud-Audit-Logs auslösen.
- Als Reaktion auf direkte Ereignisse, z. B. eine Aktualisierung eines Cloud Storage-Buckets oder eine Aktualisierung einer Firebase Remote Config-Vorlage. Ein Beispiel finden Sie in dieser Kurzanleitung, in der Sie Workflows mit direkten Ereignissen aus Cloud Storage auslösen.
- Nach Nachrichten, die in einem Pub/Sub-Thema veröffentlicht wurden. Kurzanleitung
Wichtige Hinweise:
Ereignisse gelten als zugestellt, sobald die Workflowausführung beginnt. Die eigentliche Ausführung erfolgt asynchron in den Workflows-Diensten.
Ausführungen, die durch Ereignisse ausgelöst werden, werden nicht wiederholt, wenn die Workflowausführung beginnt, aber später fehlschlägt. Weitere Informationen finden Sie unter Wiederholungsrichtlinie für Ereignisse.
Das Deduplizierungsfenster für Workflows, um die Exactly-Once-Verarbeitung von Ereignissen zu gewährleisten, beträgt 24 Stunden.
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 Workflow-Ausführungen aus. Weitere Informationen finden Sie unter Kontingente und Limits.
Wenn Sie in Projekten, die durch einen Dienstperimeter geschützt sind, Ereignisse an Workflows-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 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 gcloud-Anleitung im Abschnitt „Trigger erstellen“, wenn Sie einen Trigger für einen bestimmten Anbieter, Ereignistyp und ein bestimmtes Workflows-Ziel erstellen.
Trigger mit der Konsole erstellen
In den folgenden Schritten wird beschrieben, wie Sie auf der Seite Workflows in der Google Cloud -Konsole einen Trigger erstellen.
Hinweise
-
Enable the Eventarc and Pub/Sub APIs.
Erstellen Sie ein Dienstkonto, damit Eventarc Anfragen an die Workflows API senden kann:
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
Wählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.
Geben Sie im Feld Name des Dienstkontos einen Namen ein, der zwischen 6 und 30 Zeichen lang ist.
Er kann alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie den Namen nicht mehr ändern.
Klicken Sie auf Erstellen und fortfahren.
Weisen Sie Ihrem neuen Dienstkonto die Rolle workflows.invoker zu, damit das Konto die Berechtigung zum Auslösen Ihres Workflows hat. Wählen Sie in der Liste Rolle auswählen die Option Workflows > Workflows Invoker 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.
Klicken Sie auf Fertig.
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 Dienstes übernehmen kann..
Trigger konfigurieren
Wenn Sie noch keinen Workflow haben, den Sie auslösen möchten, erstellen und stellen Sie einen bereit.
Rufen Sie in der Google Cloud Console die Seite Workflows auf:
Wählen Sie auf der Seite „Workflows“ einen Workflow aus, um dessen Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf edit Ausführen.
Wählen Sie auf der Seite Workflow bearbeiten die Option Neuen Trigger hinzufügen > Eventarc aus.
Der Bereich Eventarc-Trigger wird geöffnet.
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“.
Wählen Sie das Dienstkonto aus, das Ihren Workflow aufruft.
Dies gibt das IAM-Dienstkonto an, dem Sie zuvor die Rolle
workflows.invoker
zugewiesen haben, damit das Konto die Berechtigung zum Auslösen Ihres Workflows hat.Klicken Sie auf Trigger speichern.
Der Eventarc-Trigger wird auf der Seite Workflowdetails auf dem Tab Trigger aufgeführt.
Wenn Sie den Trigger aktualisieren oder löschen möchten, müssen Sie den Workflow bearbeiten:
- Klicken Sie auf der Seite Workflow-Details auf edit Ausführen.
- Suchen Sie im Bereich Trigger nach dem Trigger, den Sie aktualisieren oder löschen möchten.
- Klicken Sie auf edit Ressource bearbeiten oder delete Ressource löschen.
Die Ausführung Ihres Workflows 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.