Workflowübersicht

Workflows ist eine vollständig verwaltete Orchestrierungsplattform, die Dienste in einer von Ihnen definierten Reihenfolge ausführt: einem Workflow. Diese Workflows können Dienste kombinieren, einschließlich benutzerdefinierter Dienste, die in Cloud Run oder Cloud Run Functions gehostet werden, Google Cloud-Diensten wie Cloud Vision AI und BigQuery und einer beliebigen HTTP-basierten API.

Wenn Sie Workflows in Lösungen einbinden, können Sie Dienstabhängigkeiten explizit und durchgängig beobachten. Ein Workflow, der einen Anwendungs-, Betriebs- oder Geschäftsprozess angibt, stellt eine „Source of Truth“ oder kanonische Beschreibung des Prozesses dar.

Workflows ist serverlos, skaliert bei Bedarf und es fallen keine Kosten an, wenn der Dienst inaktiv ist. Da ein Workflow keine Code- oder Bibliotheksabhängigkeiten enthält, sind keine Sicherheitspatches erforderlich. Nach der Bereitstellung eines Workflows können Sie davon ausgehen, dass er zuverlässig und ohne Wartung ausgeführt wird. Ein Workflow kann den Status beibehalten, einen Vorgang noch einmal versuchen, abfragen oder bis zu einem Jahr warten.

Workflows entspricht diesen Zertifizierungen und Standards.

Das folgende Diagramm zeigt ein Beispiel für die Verwendung von Workflows zur Orchestrierung von Diensten:

Dienstorchestrierung mit Workflows

Gängige Anwendungsfälle

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

Dienstorchestrierung Lösungen durch Kombination von Diensten erstellen: Führen Sie eine Abfolge von Vorgängen auf mehreren Systemen aus und warten Sie, bis alle Vorgänge abgeschlossen sind. Kann ereignisgesteuert sein. Beispiel:
    .
  • Neu hochgeladene Dateien an Cloud Vision AI senden und dann Tags in Firestore schreiben
  • Cloud Run-Funktion aufrufen und Ergebnisse an einen Cloud Run-Dienst senden
Batchjobs Vorgänge auf mehrere Elemente anwenden: Sie können Vorgänge auf eine Reihe von Elementen oder Batch-Daten anwenden. Oft geplant. Beispiel:
    .
  • Tägliche E-Mails an Kunden senden
  • BigQuery- oder ML-Jobs 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
Automatisierung von IT-Prozessen Verwaltete Ausführung von Dienstvorgängen: Erstellen Sie einfach Skriptsequenzen von Google Cloud-Dienstvorgängen. Beispiel:
    .
  • Neue Mandantenprojekte oder ‑infrastrukturen bereitstellen
  • Ressourcen nach einem Zeitplan oder über Ereignisauslöser herunterfahren

Wichtige Konzepte

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

Nachdem ein Workflow erstellt wurde, wird er bereitgestellt. Dadurch ist der Workflow für die Ausführung bereit. Weitere Informationen zum Erstellen und Aktualisieren eines Workflows in der Google Cloud Console oder mit der Google Cloud CLI Sie können Ihren Workflow auch mit einer bevorzugten IDE oder einem Quellcode-Editor erstellen und die automatische Vervollständigung und Syntaxprüfung einrichten.

Eine Ausführung ist ein einzelner Durchlauf der Logik, die in der Definition eines Workflows enthalten ist. Für einen 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 über die Workflows REST API ausführen. Weitere Informationen finden Sie unter Workflow ausführen.

Regionalität

Workflows ist ein regionaler Dienst und Workflows sind regionale Ressourcen, die der Einschränkung der Ressourcenstandorte unterliegen. Mit Richtlinien für Ressourcenstandorte können Sie den Speicherort Ihrer Daten steuern.

Wenn ein Workflow in einer bestimmten Region bereitgestellt wird, wird er nur in dieser Region ausgeführt. Wenn der Workflow jedoch HTTP-Anfragen stellt oder Connectors verwendet, stammt der HTTP-Aufruf möglicherweise nicht aus derselben Region.

Hauptmerkmale

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

Ausführungskontrolle

Schritte
Um einen Workflow zu erstellen, definieren Sie die erforderlichen Schritte und die Reihenfolge der Ausführung mithilfe der Workflow-Syntax. Jeder Workflow muss mindestens einen Schritt haben. Standardmäßig werden Schritte in Workflows so behandelt, als befänden sie sich in einer sortierten 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, mit dem der Wert eines Ausdrucks den Ablauf der Ausführung eines Workflows steuern kann. Weitere Informationen finden Sie unter Bedingungen.
Ausführung
Mit einer for-Schleife können Sie eine Sequenz von Zahlen oder eine Sammlung von Daten wie eine Liste oder Karte durchlaufen. Weitere Informationen finden Sie unter Iteration.
Parallele Schritte
Mit einem parallel-Schritt können Sie einen Teil Ihres Workflows (einen Verzweigungs- oder Schleifenabschnitt) definieren, der parallel 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
Sie können Workflows entweder über die Google Cloud Console oder über die Befehlszeile mit der Google Cloud CLI verwalten. Die Visualisierung beim Bearbeiten der Workflow-Syntax ist auch über die Google Cloud Console verfügbar.
Programmatisch
Die Cloud-Clientbibliotheken für die Workflows API oder die REST API können zum Verwalten von Workflows verwendet 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
Auf zur Laufzeit übergebene Daten kann zugegriffen werden, indem dem Hauptworkflow ein params-Feld hinzugefügt wird (in einem main-Block platziert). Der Block main akzeptiert ein einzelnes Argument, das ein gültiger JSON-Datentyp sein muss. Im Feld params wird der Name der Variablen angegeben, in der der Workflow die von Ihnen übergebenen Daten speichert. Weitere Informationen finden Sie unter Laufzeitargumente.

Dienste verbinden

HTTP APIs
Sie können einen Workflowschritt definieren, der einen HTTP-Aufruf durchführt, und die Antwort des Aufrufs einer Variablen zuweisen. Beispielsweise können Sie über eine HTTP-Anfrage einen Google Cloud-Dienst wie Cloud Run-Funktionen oder Cloud Run aufrufen. Sowohl HTTP- als auch HTTPS-Anfragen werden unterstützt. Weitere Informationen finden Sie unter HTTP-Anfrage senden und Cloud Run-Funktionen oder Cloud Run aufrufen.
Sie können private lokale, 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 Autorisierungsschicht für Anwendungen einrichten, auf die über HTTPS zugegriffen wird. Damit erhalten Sie ein Zugriffssteuerungsmodell auf Anwendungsebene und müssen keine Firewalls auf Netzwerkebene einsetzen. Weitere Informationen finden Sie unter Privaten On-Premise-, Compute Engine-, GKE- oder anderen Endpunkt aufrufen.
Alternativ können Sie einen privaten Endpunkt für HTTP-Aufrufe aus Ihrer Workflowausführung ansteuern, indem Sie die Dienstregistrierung von Service Directory mit Workflows verwenden. Wenn Sie einen privaten Endpunkt in einem VPC-Netzwerk (Virtual Private Cloud) erstellen, kann der Endpunkt VPC Service Controls-konform sein. Weitere Informationen finden Sie unter VPC Service Controls-konformen privaten Endpunkt aufrufen.
Connectors
Workflows veröffentlicht Connectors, mit denen Sie eine Verbindung zu anderen Google Cloud APIs in einem Workflow herstellen und Ihre Workflows in diese Google Cloud-Produkte integrieren können. Sie vereinfachen den Aufruf von Diensten, da sie die Formatierung von Anfragen für Sie verarbeiten und Methoden und Argumente bereitstellen. Sie müssen also die Details einer Google Cloud API nicht kennen. Weitere Informationen finden Sie unter Connectors.
Standardbibliothek und Umgebungsvariablen
Mit der Workflows-Standardbibliothek, integrierten Umgebungsvariablen und benutzerdefinierten Umgebungsvariablen können Sie effizient Argumente für Dienste erstellen und Antworten verarbeiten.
Die Standardbibliothek enthält Module und häufig verwendete Funktionen, z. B. für Datentyp- und Formatkonvertierungen. Bibliotheken müssen nicht in einen Workflow importiert oder geladen werden – Bibliotheksfunktionen funktionieren sofort. Weitere Informationen finden Sie in der Übersicht über die Standardbibliothek.
Mithilfe von vordefinierten Umgebungsvariablen können Sie auf Umgebungsinformationen eines Workflows zugreifen, z. B. auf seinen Speicherort oder seine Projekt-ID. Integrierte Umgebungsvariablen müssen nicht deklariert werden und sind bei jeder Workflowausführung verfügbar. Weitere Informationen finden Sie unter Vordefinierte Umgebungsvariablen.
Bei der Bereitstellung eines Workflows können Sie beliebige Schlüssel/Wert-Paare von Strings als benutzerdefinierte Umgebungsvariablen festlegen, auf die der Workflow zur Laufzeit zugreifen kann. Sie können beispielsweise einen Workflow erstellen, der je nach Umgebung, in der er bereitgestellt wird, dynamisch konfiguriert wird. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.

Fehlerbehandlung

Sie können Ihre Workflows ausfallsicher machen und ihr Verhalten bei einem Fehler anpassen, indem Sie die Ausnahmebehandlung von Workflows verwenden. Dazu gehören automatische Wiederholungen von HTTP-Aufrufen mit exponentiellem Backoff, benutzerdefinierte Fehlerhandler und andere erweiterte Funktionen. 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 in einem bestimmten Intervall abfragen. Weitere Informationen finden Sie unter Mit Polling 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. Mit IAM-basierten Dienstkonten können Sie auch die Interaktionen mit anderen Google Cloud APIs vereinfachen. Mit dem Secret Manager-Connector können Sie Schlüssel und Passwörter zur 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. Mit Logging und benutzerdefinierten Logs können Sie auch steuern, wann Logs während der Ausführung eines Workflows 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 in den Informationen zum Audit-Logging für Workflows und Workflowausführungen.

Sie können den Verlauf einer bestimmten Workflowausführung als Liste von Schritten abrufen. Jeder Eintrag steht für einen Schritt oder Anweisungsblock bei der Workflowausführung. Schritteinträge können Ihnen helfen, die Ursache eines Fehlers zu ermitteln oder die Leistung eines Workflows zu optimieren.

Codebeispiele

Auf der Seite mit Beispielen finden Sie viele nützliche Codebeispiele für Workflows.

Nächste Schritte