Workflowübersicht

Workflows ist eine vollständig verwaltete Orchestrierungsplattform, die Dienste in einer von Ihnen festgelegten Reihenfolge ausführt: ein Workflow. Diese Workflows können Dienste kombinieren, darunter benutzerdefinierte Dienste, die in Cloud Run oder Cloud Functions gehostet werden, Google Cloud-Dienste wie Cloud Vision AI und BigQuery sowie jede HTTP-basierte API.

Durch die Einbindung von Workflows in Lösungen können Sie Dienstabhängigkeiten durchgängig explizit und beobachtbar machen. Ein Workflow, der eine Anwendung, einen Betriebs- oder Geschäftsprozess angibt, liefert eine zentrale oder kanonische Erzählung für den Prozess.

Workflows sind serverlos und können nach Bedarf vertikal skaliert werden. Bei Inaktivität fallen keine Gebühren an. Da ein Workflow keinen Code oder Bibliotheksabhängigkeiten enthält, sind keine Sicherheitspatches erforderlich. Sobald Sie einen Workflow bereitstellen, können Sie davon ausgehen, dass er zuverlässig und ohne Wartung ausgeführt wird. Ein Workflow kann den Status beibehalten, ihn wiederholen, abfragen oder bis zu einem Jahr warten.

Workflows sind mit diesen Zertifizierungen und Standards konform.

Das folgende Diagramm zeigt ein Beispiel für die Verwendung von Workflows zum Orchestrieren von Diensten:

Dienstorchestrierung mit Workflows

Gängige Anwendungsfälle

Workflows unterstützen viele Anwendungsfälle. Dazu einige Beispiele:

Dienstorchestrierung Lösungen durch Kombinieren von Diensten erstellen: Sie können eine Abfolge von Vorgängen über mehrere Systeme hinweg ausführen und warten, bis alle Vorgänge abgeschlossen sind. Kann ereignisgesteuert sein. Beispiele:
  • Neu hochgeladene Dateien an Cloud Vision AI senden und dann Tags in Firestore schreiben
  • Cloud Functions-Funktion aufrufen und die Ergebnisse an einen Cloud Run-Dienst senden
Batch-Jobs Für mehrere Elemente ausführen: Für eine Reihe von Elementen oder Batchdaten werden Vorgänge ausgeführt. Oft geplant. Beispiele:
  • Tägliche E-Mails an Kunden senden
  • BigQuery-Jobs oder Jobs für maschinelles Lernen vorbereiten und ausführen
  • Berichte erstellen
Geschäftsprozesse Geschäftsbereichs-Workflows automatisieren: Codieren Sie die Schritte in einem Geschäftsprozess, einschließlich Bedingungen, Aktionen und Human-in-the-Loop-Ereignissen. Beispiel:
    .
  • Bestellung von der Anfrage bis zur Auftragsausführung verfolgen
  • Ressourcenanfragen mit Genehmigungen automatisieren
IT-Prozessautomatisierung Verwaltete Ausführung von Dienstvorgängen: Erstellen Sie einfach Skriptsequenzen von Google Cloud-Dienstvorgängen. Beispiel:
    .
  • Neue Mandantenprojekte oder Infrastruktur bereitstellen
  • Ressourcen nach einem Zeitplan oder über Ereignistrigger deaktivieren

Wichtige Konzepte

Ein Workflow besteht aus einer Reihe von Schritten, die mithilfe der Workflow-Syntax beschrieben werden, und kann entweder in YAML oder JSON geschrieben werden. Dies ist die Definition des Workflows. Eine ausführliche Erläuterung der Workflowsyntax finden Sie in der Syntaxreferenz.

Nachdem ein Workflow erstellt wurde, wird er bereitgestellt. Dadurch ist der Workflow für die Ausführung bereit. In der Google Cloud Console oder über die Google Cloud CLI einen Workflow erstellen und aktualisieren Sie können Ihren Workflow auch mithilfe einer bevorzugten IDE oder eines bevorzugten Quellcode-Editors erstellen und automatische Vervollständigung und Syntaxvalidierung einrichten.

Eine Ausführung ist eine einzelne Ausführung der Logik, die in der Definition eines Workflows enthalten ist. Für einen noch nicht ausgeführten Workflow fallen keine Kosten an. Alle Workflowausführungen sind unabhängig und die schnelle Skalierung des Produkts ermöglicht eine hohe Anzahl gleichzeitiger Ausführungen. Sie können einen Workflow mit den Clientbibliotheken, in der Google Cloud Console, mit der Google Cloud CLI oder durch Senden einer HTTP-POST-Anfrage an die Aufruf-URL des Workflows mit der Workflows REST API ausführen. Weitere Informationen finden Sie unter Workflow ausführen.

Hauptmerkmale

Im Folgenden sind einige wichtige Funktionen von Workflows aufgeführt.

Ausführungskontrolle

Schritte
Zum Erstellen eines Workflows definieren Sie die erforderlichen Schritte und die Ausführungsreihenfolge mithilfe der Workflows-Syntax. Jeder Workflow muss mindestens einen Schritt enthalten. Standardmäßig werden Schritte in Workflows so behandelt, als befänden sie sich in einer geordneten Liste. Sie werden nacheinander ausgeführt, bis alle Schritte ausgeführt wurden. Weitere Informationen finden Sie unter Schritte.
Bedingungen
Sie können einen switch-Block als Auswahlmechanismus verwenden, der es ermöglicht, dass der Wert eines Ausdrucks den Ablauf der Workflowausführung steuern kann. Weitere Informationen finden Sie unter Bedingungen.
Ausführung
Sie können eine for-Schleife verwenden, um über eine Folge von Zahlen oder eine Sammlung von Daten, z. B. eine Liste oder Karte, zu iterieren. Weitere Informationen finden Sie unter Iteration.
Parallele Schritte
Mit einem parallel-Schritt können Sie einen Teil Ihres Workflows (einen Zweig oder eine Schleife) definieren, der gleichzeitig ausgeführt werden kann. Weitere Informationen finden Sie unter Parallele Schritte.
Untergeordnete Workflows
Ein untergeordneter Workflow funktioniert ähnlich wie ein Ablauf oder eine Funktion in einer Programmiersprache, sodass Sie einen Schritt oder eine Reihe von Schritten kapseln können, die der Workflow mehrmals wiederholt. Weitere Informationen finden Sie unter Untergeordnete Workflows.

Ausführungen auslösen

Manuell
Workflows können Sie entweder über die Google Cloud Console oder über die Befehlszeile mithilfe der Google Cloud CLI verwalten. Visualisierungsunterstützung beim Bearbeiten der Workflowsyntax ist auch über die Google Cloud Console verfügbar.
Programmatisch
Mit den Cloud-Clientbibliotheken für die Workflows API (auch REST API) können Workflows verwaltet werden. Weitere Informationen finden Sie unter Workflows APIs und Referenz.
Geplant
Mit Cloud Scheduler können Sie einen Workflow nach einem bestimmten Zeitplan ausführen, z. B. jeden Montag um 9:00 Uhr oder alle 15 Minuten. Weitere Informationen finden Sie unter Workflow mit Cloud Scheduler planen.
Laufzeitargumente
Zur Laufzeit übergebene Daten können durch Hinzufügen des Feldes params zu Ihrem Hauptworkflow (in einem main-Block) abgerufen werden. Der main-Block akzeptiert ein einzelnes Argument von einem beliebigen gültigen JSON-Datentyp. Das Feld params benennt die Variable, die der Workflow zum Speichern der übergebenen Daten verwendet. Weitere Informationen finden Sie unter Laufzeitargumente.

Dienste verbinden

HTTP APIs
Sie können einen Workflowschritt definieren, der einen HTTP-Aufruf ausführt, und die Antwort des Aufrufs einer Variablen zuweisen. Sie können beispielsweise einen Google Cloud-Dienst wie Cloud Functions oder Cloud Run über eine HTTP-Anfrage aufrufen. Es werden sowohl HTTP- als auch HTTPS-Anfragen unterstützt. Weitere Informationen finden Sie unter HTTP-Anfrage stellen und Cloud Functions oder Cloud Run aufrufen.
Sie können private lokale Endpunkte, Compute Engine, Google Kubernetes Engine (GKE) oder andere Google Cloud-Endpunkte aufrufen, indem Sie Identity-Aware Proxy (IAP) aktivieren. Mit IAP können Sie eine zentrale Autorisierungsebene für Anwendungen einrichten, auf die über HTTPS zugegriffen wird. So können Sie ein Zugriffssteuerungsmodell auf Anwendungsebene anstelle von Firewalls auf Netzwerkebene verwenden. Weitere Informationen finden Sie unter Privaten lokalen Endpunkt, Compute Engine, GKE oder einen anderen Endpunkt aufrufen.
Alternativ können Sie einen privaten Endpunkt für HTTP-Aufrufe von Ihrer Workflowausführung ansteuern. Verwenden Sie dazu die Dienst-Registry von Service Directory mit Workflows. Durch das Erstellen eines privaten Endpunkts in einem VPC-Netzwerk (Virtual Private Cloud) kann der Endpunkt VPC Service Controls-konform sein. Weitere Informationen finden Sie unter VPC Service Controls-konformen privaten Endpunkt aufrufen.
Connectors
Bei Workflows werden Connectors veröffentlicht, mit denen Sie innerhalb eines Workflows eine Verbindung zu anderen Google Cloud APIs herstellen und Ihre Workflows in diese Google Cloud-Produkte einbinden können. Sie vereinfachen das Aufrufen von Diensten, da sie die Formatierung von Anfragen für Sie übernehmen und Methoden und Argumente bereitstellen, damit Sie die Details einer Google Cloud API nicht kennen müssen. Weitere Informationen finden Sie im Hilfeartikel Connectors.
Standardbibliothek und Umgebungsvariablen
Mit der Workflows-Standardbibliothek, integrierten Umgebungsvariablen und benutzerdefinierten Umgebungsvariablen können Sie effizient Argumente für Dienste und Prozessantworten erstellen.
Die Standardbibliothek enthält Module und häufig verwendete Funktionen, z. B. für Datentyp- und Formatkonvertierungen. Es müssen keine Bibliotheken in einem Workflow importiert oder geladen werden. Bibliotheksfunktionen werden sofort ausgeführt. Weitere Informationen finden Sie unter Standardbibliothek – Übersicht.
Über integrierte Umgebungsvariablen können Sie auf die Umgebungsinformationen eines Workflows zugreifen, z. B. seinen Standort oder seine Projekt-ID. Integrierte Umgebungsvariablen müssen nicht deklariert werden und sind bei jeder Workflowausführung verfügbar. Weitere Informationen finden Sie unter Integrierte Umgebungsvariablen.
Beim Bereitstellen eines Workflows können Sie beliebige Schlüssel/Wert-String-Paare als benutzerdefinierte Umgebungsvariablen festlegen, auf die der Workflow zur Laufzeit zugreifen kann. Sie können beispielsweise einen Workflow erstellen, der abhängig von der Umgebung, in der er bereitgestellt wird, dynamisch konfiguriert wird. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.

Fehlerbehandlung

Mithilfe der Ausnahmebehandlung von Workflows können Sie Ihre Workflows robust machen und ihr Verhalten bei Fehlern anpassen. Dazu gehören automatische HTTP-Aufrufwiederholungen mit exponentiellen Backoffs, benutzerdefinierte Fehler-Handler und andere erweiterte Features. Weitere Informationen finden Sie unter Workflowfehler.

Warten

Callbacks ermöglichen es Workflow-Ausführungen, zu warten, bis ein anderer Dienst eine Anfrage an den Callback-Endpunkt sendet. Diese Anfrage setzt die Ausführung des Workflows fort. Mit Callbacks können Sie Ihrem Workflow signalisieren, dass ein bestimmtes Ereignis aufgetreten ist, und auf dieses Ereignis ohne Abfrage warten. Weitere Informationen finden Sie unter Mit Callbacks warten.

Sie können die Ausführung eines Workflows anhalten, indem Sie der Definition Ihres Workflows einen Ruhemodusschritt hinzufügen. Anschließend können Sie mit sys.sleep Daten innerhalb eines bestimmten Intervalls abfragen. Weitere Informationen finden Sie unter Mit Abfrage warten.

Authentifizierung und Zugriffssteuerung

Da für jede Workflowausführung ein authentifizierter Aufruf erforderlich ist, können Sie mithilfe von Workflows das Risiko versehentlicher oder schädlicher Aufrufe verringern. Mithilfe von IAM-basierten Dienstkonten können Sie auch die Interaktionen mit anderen Google Cloud APIs vereinfachen. Außerdem können Sie mit dem Secret Manager-Connector Schlüssel und Passwörter für die Authentifizierung bei externen APIs sicher speichern. Weitere Informationen finden Sie unter Authentifizierung und Zugriffssteuerung.

Beobachtbarkeit

Workflows generiert automatisch Ausführungslogs für Workflowausführungen in Cloud Logging. Sie können auch mithilfe von Aufruf-Logging oder benutzerdefinierten Logs steuern, wann Logs während einer Workflowausführung an Logging gesendet werden. Weitere Informationen finden Sie unter Logs an Cloud Logging senden.

Informationen zum Audit-Logging sind über Cloud-Audit-Logs verfügbar. Weitere Informationen finden Sie unter Informationen zum Audit-Logging von Workflows.

Sie können den Verlauf einer bestimmten Workflowausführung als Liste von Schritteinträgen abrufen. Jeder Eintrag stellt einen Schritt oder Anweisungsblock in der Workflowausführung dar. Schritteinträge können Ihnen dabei helfen, die Fehlerquelle zu ermitteln oder die Leistung eines Workflows zu optimieren.

Codebeispiele

Auf der Seite „Beispiele“ finden Sie viele nützliche Codebeispiele für Workflows.

Nächste Schritte