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 Dienste wie Cloud Vision AI und BigQuery sowie eine beliebige HTTP-basierte API.
Wenn Sie Workflows in Lösungen einbinden, können Sie Dienstabhängigkeiten explizit machen und End-to-End beobachten. Ein Workflow, der eine Anwendung, einen Betriebs- oder Geschäftsprozess angibt, bietet eine Source of Truth oder eine kanonische Beschreibung des Prozesses.
Workflows sind serverlos und werden nach Bedarf skaliert. Im Leerlauf fallen keine Gebühren an. 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, es noch einmal versuchen, abfragen oder warten.
Workflows entspricht diesen Zertifizierungen und Standards.
Das folgende Diagramm zeigt ein Beispiel für die Verwendung von Workflows zum Orchestrieren von Diensten:
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 in mehreren Systemen aus und warten Sie, bis alle Vorgänge abgeschlossen sind.
Kann ereignisgesteuert sein. Beispiel:
|
Batchjobs | Mehrere Elemente bearbeiten: Sie können Vorgänge für eine Gruppe von Elementen oder Batchdaten ausführen. Oft geplant. Beispiel:
|
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:
|
Automatisierung von IT-Prozessen | Verwaltete Ausführung von Dienstvorgängen: Erstellen Sie einfach Skriptsequenzen von Google Cloud -Dienstvorgängen. Beispiel:
|
Wichtige Konzepte
Ein Workflow besteht aus einer Reihe von Schritten, die mit der Workflows-Syntax beschrieben werden. Diese kann entweder in YAML oder JSON 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. 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 Autovervollstä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 Gebühren 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 -Konsole, 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 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 finden Sie einige wichtige Funktionen von Workflows.
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 werden Schritte in Workflows so behandelt, als ob sie sich in einer sortierten Liste befinden. Sie werden einzeln ausgeführt, bis alle Schritte durchlaufen 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
- 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 Branch 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 Visualisierung beim Bearbeiten der Workflows-Syntax ist auch über die Google Cloud Konsole 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 and reference.
- 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 (in einem
main
-Block) einparams
-Feld hinzufügen. Der Blockmain
akzeptiert ein einzelnes Argument, das ein beliebiger gültiger JSON-Datentyp sein kann. Im Feldparams
wird die Variable angegeben, in der die übergebenen Daten gespeichert werden. 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 Functions oder Cloud Run aufrufen.
- Sie können einen privaten Endpunkt für HTTP-Aufrufe aus der Workflowausführung ansteuern, indem Sie die Dienstregistrierung von Service Directory mit Workflows verwenden. So können Sie Ihrem Workflow einen Service Directory-Dienstnamen zuweisen. Bei der Ausführung des Workflows werden die aus der Dienstregistrierung abgerufenen Informationen verwendet, um die entsprechende HTTP-Anfrage zu senden, ohne dass eine Verbindung zu einem öffentlichen Netzwerk hergestellt wird. Weitere Informationen finden Sie unter Privaten Endpunkt über die Dienstregistrierung von Service Directory aufrufen.
- Alternativ können Sie private On-Premise-, 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 IAP aktivieren, um einen privaten On-Premise-, Compute Engine-, GKE- oder anderen Endpunkt aufzurufen.
- Wenn Sie einen privaten Endpunkt in einem VPC-Netzwerk (Virtual Private Cloud) 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 einerGoogle 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 die Konvertierung von Datentypen und ‑formaten. Bibliotheken müssen in einem Workflow nicht importiert oder geladen werden. Bibliotheksfunktionen funktionieren sofort. Weitere Informationen finden Sie in der Übersicht über die Standardbibliothek.
- 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 bei jeder Workflowausführung verfügbar. Weitere Informationen finden Sie unter Integrierte Umgebungsvariablen.
- Wenn Sie einen Workflow bereitstellen, können Sie beliebige Schlüssel/Wert-Stringpaare als benutzerdefinierte Umgebungsvariablen festlegen, auf die Ihr 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
Mit der Ausnahmebehandlung von Workflows können Sie Ihre Workflows robuster machen und ihr Verhalten bei einem Fehler anpassen. Dazu gehören unter anderem automatisierte Wiederholungen von HTTP-Aufrufen mit exponentiellem Backoff, benutzerdefinierte Fehlerhandler und andere erweiterte Funktionen. Weitere Informationen finden Sie unter Workflow-Fehler.
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 Polling warten.
Authentifizierung und Zugriffssteuerung
Da für jede Workflow-Ausführung ein authentifizierter Aufruf erforderlich ist, können Sie das Risiko versehentlicher oder böswilliger Aufrufe mit Workflows verringern. Sie können auch die Interaktion mit anderen Google Cloud APIs vereinfachen, indem Sie IAM-basierte Dienstkonten verwenden. Außerdem können Sie Schlüssel und Passwörter zur Authentifizierung bei externen APIs mit dem Secret Manager-Connector 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 steuern, wann Logs während der Ausführung eines Workflows über das Aufruf-Logging oder benutzerdefinierte Logs 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 Audit-Logging für Workflows und Audit-Logging für Workflow-Ausführungen.
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. Schritt-Einträge können Ihnen helfen, die Quelle eines Fehlers zu ermitteln oder die Leistung eines Workflows zu optimieren.
Codebeispiele
Viele nützliche Workflow-Codebeispiele finden Sie auf der Seite mit Beispielen.
Nächste Schritte
Erste Schritte mit Workflows über die Google Cloud Console oder die gcloud CLI
Weitere Informationen zum Erstellen und Aktualisieren von Workflows
Reihenfolge steuern, in der Workflow-Schritte ausgeführt werden