Workflows verstehen

Workflows ist eine vollständig verwaltete Orchestrierungsplattform, auf der Dienste in einer von Ihnen festgelegten Reihenfolge ausgeführt werden: ein Workflow. In diesen Workflows können Dienste wie benutzerdefinierte Dienste, die in Cloud Run oder Cloud Functions gehostet werden, Google Cloud-Dienste wie Cloud Vision AI und BigQuery sowie beliebige HTTP-basierte APIs kombiniert werden.

Die Einbindung von Workflows in Lösungen macht Ihre Dienstabhängigkeit explizit und beobachtbar. Ein Workflow, der einen Anwendungs-, Betriebs- oder Geschäftsprozess angibt, und zwar eine Quelle der aktuellen oder kanonischen Erzählung für den Prozess.

Workflows sind serverlos und werden bei Bedarf vertikal skaliert. Es fallen keine Gebühren an, wenn sie inaktiv sind. Da ein Workflow keine Code- oder Bibliotheksabhängigkeiten enthält, sind keine Sicherheitspatches erforderlich. Sobald Sie einen Workflow bereitgestellt haben, können Sie davon ausgehen, dass er ohne Wartung zuverlässig ausgeführt wird. Ein Workflow kann den Status beibehalten, den Status wiederholen, abfragen oder bis zu ein Jahr warten.

Workflows entsprechen diesen Zertifizierungen und Standards.

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: Führen Sie eine Reihe von Vorgängen über mehrere Systeme hinweg aus und warten Sie, bis alle Vorgänge abgeschlossen sind. Es kann ereignisgesteuert sein. Beispiel:
    .
  • Neu hochgeladene Dateien an Cloud Vision AI senden und dann Tags in Firestore schreiben
  • Cloud Functions-Funktion aufrufen und Ergebnisse an einen Cloud Run-Dienst senden
Batch-Jobs Für mehrere Elemente gleichzeitig ausführen: Führen Sie Vorgänge für eine Gruppe von Elementen oder Batchdaten aus. Oft geplant. Beispiel:
    .
  • Tägliche E-Mails an Kunden senden
  • BigQuery- oder Machine-Learning-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 Anforderung bis zur Ausfü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 herunterfahren

Wichtige Konzepte

Ein Workflow besteht aus einer Reihe von Schritten, die mit der Workflow-Syntax beschrieben werden und entweder in YAML oder JSON geschrieben werden können. Dies ist die Definition für den Workflow. 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 für die Ausführung bereit. Erfahren Sie, wie Sie in der Google Cloud Console oder mit der Google Cloud CLI einen Workflow erstellen und aktualisieren.

Eine Ausführung ist eine einzelne Ausführung der Logik, die in einer Workflowdefinition enthalten ist. Für einen Workflow, der ausgeführt wurde, fallen keine Gebühren an. Alle Workflowausführungen sind unabhängig und die schnelle Skalierung des Produkts ermöglicht eine große Anzahl gleichzeitiger Ausführungen. Sie können einen Workflow mit den Clientbibliotheken in der Cloud Console, über die Google Cloud-Befehlszeile oder durch Senden einer Anfrage an die Workflows REST API ausführen. Weitere Informationen finden Sie unter Workflow ausführen.

Hauptmerkmale

Ausführungskontrolle

Schritte
Zum Erstellen eines Workflows definieren Sie die gewünschten Schritte und die gewünschte Ausführungsreihenfolge mit der Workflow-Syntax. Jeder Workflow muss mindestens einen Schritt enthalten. Standardmäßig behandelt Workflows die Schritte so, als wären sie in einer geordneten Liste vorhanden, und führt sie nacheinander aus, bis alle Schritte ausgeführt wurden. Weitere Informationen findest du unter Schritte.
Bedingungen
Sie können einen switch-Block als Auswahlmechanismus verwenden, der den Wert eines Ausdrucks ermöglicht, um den Ablauf einer Workflowausführung zu steuern. Weitere Informationen finden Sie unter Bedingungen.
Ausführung
Du kannst eine for-Schleife verwenden, um über eine Folge von Zahlen oder über eine Datensammlung wie eine Liste oder eine Karte zu iterieren. Weitere Informationen findest du unter Iteration.
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 in der Google Cloud Console oder über die Befehlszeile mit der Google Cloud CLI verwalten. Visualisierungsunterstützung 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 für die Verwaltung 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
Zur Laufzeit weitergeleitete Daten können durch Hinzufügen eines params-Felds zu Ihrem Hauptworkflow (in einem main-Block) aufgerufen werden. Der Block main akzeptiert ein einzelnes Argument, das einen beliebigen gültigen JSON-Datentyp enthält. Das Feld params gibt die Variable an, 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 aus dem Aufruf einer Variablen zuweisen. Du kannst beispielsweise einen Google Cloud-Dienst wie Cloud Functions oder Cloud Run über eine HTTP-Anfrage aufrufen. Es werden HTTP- und HTTPS-Anfragen unterstützt. Weitere Informationen finden Sie unter HTTP-Anfrage senden und Cloud Functions oder Cloud Run aufrufen.
Sie können auch private lokale Systeme, Compute Engine, Google Kubernetes Engine (GKE) oder andere Google Cloud-Endpunkte aufrufen. Weitere Informationen finden Sie unter Privaten lokalen Dienst, Compute Engine-, GKE- oder anderen Endpunkt aufrufen.
Connectors
Workflows veröffentlichen Connectors, die verwendet werden können, um eine Verbindung zu anderen Google Cloud APIs innerhalb eines Workflows herzustellen und Ihre Workflows in diese Google Cloud-Produkte einzubinden. Sie vereinfachen die Aufrufdienste, da sie die Formatierung von Anfragen für Sie übernehmen. Außerdem stellen sie Methoden und Argumente bereit, sodass Sie die Details einer Google Cloud API nicht kennen. Weitere Informationen zu Connectors
Standardbibliothek und Umgebungsvariablen
Mit der Standardworkflow-Bibliothek und den integrierten Umgebungsvariablen können Sie Argumente für Dienste und Prozessantworten einfach erstellen.
Die Standardbibliothek enthält Module und häufig verwendete Funktionen, z. B. für Datentyp- und Format-Conversions. Bibliotheken müssen nicht in einen Workflow importiert oder geladen werden. Die Funktionen der Bibliothek sind standardmäßig enthalten. Weitere Informationen finden Sie im Hilfeartikel Übersicht über die Standardbibliothek.
Mit integrierten Umgebungsvariablen können Sie auf die Umgebungsinformationen eines Workflows zugreifen, z. B. auf seinen Standort oder die Projekt-ID. Integrierte Umgebungsvariablen erfordern keine Deklaration und sind bei jeder Workflowausführung verfügbar. Weitere Informationen finden Sie unter Integrierte Umgebungsvariablen.

Fehlerbehandlung

Sie können Ihre Workflows stabil machen und ihr Verhalten bei einem Fehler anpassen. Verwenden Sie dazu die Workflows' Ausnahmebehandlung, einschließlich automatisierter HTTP-Aufrufversuche mit exponentiellem Backoff, benutzerdefinierten Fehler-Handlern und anderen erweiterten 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. Sie können dann sys.sleep verwenden, um Daten in einem bestimmten Intervall abzufragen. Weitere Informationen zur Verwendung von Umfragen

Authentifizierung und Zugriffssteuerung

Da für jede Workflowausführung ein authentifizierter Aufruf erforderlich ist, können Sie das Risiko von versehentlichen oder schädlichen Aufrufen mithilfe von Workflows verringern. Darüber hinaus können Sie Interaktionen mit anderen Google Cloud APIs mithilfe von IAM-basierten Dienstkonten vereinfachen. Schlüssel und Passwörter für die Authentifizierung bei externen APIs können Sie mit Secret Manager sicher speichern. Weitere Informationen finden Sie unter Authentifizierung und Zugriffssteuerung.

Beobachtbarkeit

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

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

Codebeispiele

Auf der Seite Beispiele finden Sie viele nützliche Workflow-Codebeispiele.

Weitere Informationen