Workflowübersicht

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

Durch die Einbindung von Workflows in Lösungen können Sie Dienstabhängigkeiten explizit machen und End-to-End beobachten. Ein Workflow, der einen Anwendungs-, Betriebs- oder Geschäftsprozess angibt, bietet eine Quelle der Wahrheit oder eine kanonische Beschreibung für den Prozess.

Workflows ist serverlos, skaliert nach Bedarf und es fallen keine Kosten an, wenn der Dienst nicht verwendet wird. Da ein Workflow keine Code- oder Bibliotheksabhängigkeiten enthält, sind keine Sicherheitspatches erforderlich. Nachdem Sie einen Workflow bereitgestellt haben, können Sie davon ausgehen, dass er zuverlässig und ohne Wartung ausgeführt wird. Ein Workflow kann bis zu einem Jahr lang den Status beibehalten, wiederholen, abfragen oder 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 in mehreren Systemen aus und warten Sie, bis alle Vorgänge abgeschlossen sind. Kann ereignisgesteuert sein. Beispiel:
  • Neu hochgeladene Dateien an Vision AI senden und dann Tags in Firestore schreiben
  • Eine Cloud Run-Funktion aufrufen und die Ergebnisse an einen Cloud Run-Dienst senden
Batch jobs _Vorgänge für mehrere Elemente ausführen_: Führen Sie Vorgänge für eine Reihe von Elementen aus oder verarbeiten Sie Daten im Batchverfahren. 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:
    .
  • Eine Bestellung von der Anfrage bis zur Ausfü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 Infrastruktur bereitstellen
  • Ressourcen nach Zeitplan oder über Ereignistrigger herunterfahren

Wichtige Konzepte

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

Nachdem ein Workflow erstellt wurde, wird er bereitgestellt. Dadurch ist der Workflow bereit für die Ausführung. 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 Quellcodeeditor erstellen und die automatische Vervollständigung und Syntaxvalidierung einrichten.

Eine Ausführung ist ein einzelner Durchlauf der Logik, die in der Definition eines Workflows enthalten ist. Für einen Workflow, der nicht ausgeführt wurde, 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.

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 Datenstandort 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 der wichtigsten Funktionen von Workflows aufgeführt.

Ausführungskontrolle

Schritte
Um einen Workflow zu erstellen, definieren Sie die erforderlichen Schritte und die Ausführungsreihenfolge mit der Workflows-Syntax. Jeder Workflow muss mindestens einen Schritt haben. Standardmäßig behandelt Workflows Schritte so, als wären sie in einer sortierten Liste enthalten, und führt sie einzeln aus, 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 Workflowausführung steuern kann. Weitere Informationen finden Sie unter Bedingungen.
Iteration
Sie können eine for-Schleife verwenden, um eine Sequenz von Zahlen oder eine Sammlung von Daten wie eine Liste oder Karte zu durchlaufen. 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
Sie können Workflows entweder über die Google Cloud Console oder über die Befehlszeile mit der Google Cloud CLI verwalten. Die Google Cloud Console bietet auch Unterstützung für die Visualisierung beim Bearbeiten der Workflows-Syntax.
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 Daten, die zur Laufzeit übergeben werden, kann zugegriffen werden, indem Sie Ihrem Hauptworkflow ein params-Feld hinzufügen (in einem main-Block platziert). Der main-Block akzeptiert ein einzelnes Argument, das ein beliebiger gültiger JSON-Datentyp sein kann. 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 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 stellen und Cloud Run-Funktionen oder Cloud Run aufrufen.
Sie können einen privaten Endpunkt für HTTP-Aufrufe aus Ihrer Workflowausführung verwenden, indem Sie die Dienstregistrierung von Service Directory mit Workflows verwenden. So können Sie Ihrem Workflow einen Service Directory-Dienstnamen zuweisen. Ihre Workflowausführung verwendet die aus der Dienstregistrierung abgerufenen Informationen, um die entsprechende HTTP-Anfrage zu senden, ohne ein öffentliches Netzwerk zu verlassen. Weitere Informationen finden Sie unter Privaten Endpunkt mit der Dienstregistrierung von Service Directory aufrufen.
Alternativ können Sie einen mit Identity-Aware Proxy (IAP) gesicherten Endpunkt aufrufen. Mit IAP können Sie eine zentrale Autorisierungsebene 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 Mit IAP gesicherten Endpunkt aufrufen.
Wenn Sie einen privaten Endpunkt in einem Virtual Private Cloud-Netzwerk (VPC) erstellen, können Sie einen Dienstperimeter einrichten und VPC Service Controls mit Workflows verwenden, um das Risiko einer Daten- Exfiltration zu minimieren.
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 Argumente für Dienste effizient erstellen und Antworten verarbeiten.
Die Standardbibliothek enthält Module und häufig verwendete Funktionen, z. B. für Datentyp- und Formatkonvertierungen. Es ist nicht erforderlich, Bibliotheken in einen Workflow zu importieren oder zu laden. Bibliotheksfunktionen funktionieren sofort. Weitere Informationen finden Sie unter Standardbibliothek – Übersicht.
Sie können mit integrierten Umgebungsvariablen auf die Umgebungsinformationen eines Workflows zugreifen, z. B. auf den Standort oder die Projekt-ID. Integrierte Umgebungsvariablen müssen nicht deklariert werden und sind in jeder Workflowausführung verfügbar. Weitere Informationen finden Sie unter Integrierte Umgebungsvariablen.
Beim Bereitstellen eines Workflows können Sie beliebige Schlüssel/Wert-Stringpaare 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 robust machen und ihr Verhalten bei einem Fehler anpassen. Verwenden Sie dazu die Ausnahmebehandlung von Workflows, einschließlich automatisierter HTTP-Aufrufversuche mit exponentiellen Backoffs, benutzerdefinierter Fehlerhandler und anderer erweiterter 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 sys.sleep verwenden, um Daten in einem bestimmten Intervall abzufragen. 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 mit Workflows das Risiko versehentlicher oder böswilliger Aufrufe minimieren. Sie können auch die Interaktionen mit anderen Google Cloud APIs vereinfachen, indem Sie IAM-basierte Dienstkonten verwenden. Außerdem können Sie Schlüssel und Passwörter für die Authentifizierung bei externen APIs sicher mit dem Secret Manager-Connector 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 steuern, wann Logs während der Ausführung eines Workflows an Logging gesendet werden, indem Sie das Aufruf-Logging oder benutzerdefinierte Logs verwenden. 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 für Workflows und Workflowausführungen.

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

Codebeispiele

Auf der Seite mit Codebeispielen finden Sie viele nützliche Workflows-Codebeispiele. samples page.

Nächste Schritte