Workflows è una piattaforma di orchestrazione completamente gestita che esegue in un ordine da te definito: un flusso di lavoro. Questi flussi di lavoro possono combinare inclusi i servizi personalizzati ospitati su Cloud Run o Cloud Functions, servizi Google Cloud come Cloud Vision AI e BigQuery e qualsiasi API basata su HTTP.
Incorporando Workflows nelle soluzioni, puoi rendere i servizi di dipendenze esplicite ed osservabili end-to-end. Un flusso di lavoro che specifica una domanda, un processo operativo o aziendale fornisce una fonte di attendibilità o narrativa canonica del processo.
Workflows è serverless, con lo scale up in base alle esigenze e senza costi in caso di inattività. Poiché un flusso di lavoro non contiene codice o libreria senza bisogno di patch di sicurezza. Una volta eseguito il deployment di un flusso di lavoro, puoi aspettarti che venga eseguito in modo affidabile senza manutenzione. Un flusso di lavoro può stato, riprovare, eseguire un sondaggio o attendere fino a un anno.
Workflows è conforme a quanto segue: certificazioni e standard.
Il seguente diagramma mostra un esempio di utilizzo di Workflows per orchestrare i servizi:
casi d'uso principali
Workflows supporta molti casi d'uso. Ecco alcuni esempi:
Orchestrazione dei servizi | Crea soluzioni combinando i servizi: esegui una sequenza di
operazioni su più sistemi, in attesa del completamento di tutte le operazioni.
Può essere basato su eventi. Ad esempio:
|
Job in batch | Operare su più elementi: esegui operazioni su un insieme di elementi.
in batch. Spesso pianificate. Ad esempio:
|
Processi aziendali | Automatizzare flussi di lavoro line-of-business: codifica i passaggi in un
processi aziendali, tra cui condizioni, azioni e human-in-the-loop
eventi. Ad esempio:
|
Automazione dei processi IT | Esecuzione gestita delle operazioni di servizio: sequenze di script con facilità
delle operazioni dei servizi Google Cloud. Ad esempio:
|
Concetti principali
Un flusso di lavoro consiste in una serie di passaggi descritti utilizzando Sintassi di Workflows e può essere scritta in formato YAML o JSON. Questa è la definizione del flusso di lavoro. Per una spiegazione dettagliata Per la sintassi di Workflows, consulta Riferimento per la sintassi.
Una volta creato un flusso di lavoro, ne viene eseguito il deployment, in modo che il flusso di lavoro sia pronto per l'esecuzione. Scopri come creare e aggiornare un flusso di lavoro nella console Google Cloud o utilizzando Google Cloud CLI. Puoi anche creare il tuo flusso di lavoro utilizzando un editor di codice sorgente o IDE preferito impostare il completamento automatico e la convalida della sintassi.
Un'esecuzione è una singola esecuzione della logica contenuta nella
definizione di Kubernetes. Un flusso di lavoro che non è stato eseguito non genera alcun addebito. Tutti
delle esecuzioni dei flussi di lavoro sono indipendenti e la rapida scalabilità del prodotto consente
un numero elevato di esecuzioni simultanee. Puoi eseguire un flusso di lavoro utilizzando
tramite le librerie client nella console Google Cloud,
oppure inviando una richiesta POST
HTTP all'URL di chiamata del flusso di lavoro utilizzando
l'API REST Workflows. Per maggiori dettagli, vedi
Esegui un flusso di lavoro.
Funzionalità chiave
Di seguito sono riportate alcune funzionalità chiave di Workflows.
Controllo esecuzione
- Passaggi
- Per creare un flusso di lavoro, devi definire i passaggi necessari e l'ordine di esecuzione utilizzando la sintassi di Workflows. Ogni flusso di lavoro deve avere almeno uno passaggio. Per impostazione predefinita, Workflows tratta i passaggi come se si trovassero in una nell'elenco ordinato e li esegue uno alla volta fino a quando non sono stati eseguiti tutti i passaggi. Per consulta la sezione Procedura.
- Condizioni
- Puoi utilizzare un blocco
switch
come meccanismo di selezione che consente il valore di un'espressione per controllare il flusso dell'esecuzione di un flusso di lavoro. Per maggiori dettagli, vedi Condizioni. - Iterazione
- Puoi utilizzare un ciclo
for
per ripetere una sequenza di numeri o attraverso una raccolta di dati come un elenco o una mappa. Per maggiori dettagli, vedi Iterazione. - Passaggi paralleli
- Puoi utilizzare un passaggio
parallel
per definire una parte del flusso di lavoro (un ramo un loop) che possono essere eseguiti contemporaneamente. Per maggiori dettagli, vedi Passaggi paralleli. - Flussi di lavoro secondari
- Un flusso di lavoro secondario funziona in modo simile a una routine o a una funzione in una programmazione lingua, consentendo di incapsulare un passaggio o una serie di passaggi che il flusso di lavoro si ripeterà più volte. Per maggiori dettagli, vedi Flussi di lavoro secondari.
Attivazione delle esecuzioni
- Manuale
- Puoi gestire i flussi di lavoro dalla console Google Cloud o dal utilizzando Google Cloud CLI. È supportata la visualizzazione durante la modifica La sintassi di Workflows è disponibile anche tramite la console Google Cloud.
- Programmatico
- Le librerie client di Cloud per l'API Workflows o API REST, può essere utilizzata per gestire i flussi di lavoro. Per maggiori dettagli, vedi API e riferimenti di Workflows.
- Pianificato
- Puoi utilizzare Cloud Scheduler per eseguire un flusso di lavoro su un programmazione, ad esempio ogni lunedì alle 09:00 o ogni 15 minuti. Per maggiori dettagli, vedi Pianificare un flusso di lavoro utilizzando Cloud Scheduler.
- Argomenti di runtime
- È possibile accedere ai dati trasmessi in fase di runtime aggiungendo un campo
params
all'istanza principale flusso di lavoro (inserito in un bloccomain
). Il bloccomain
accetta un singolo argomento qualsiasi tipo di dati JSON valido. Il campoparams
assegna il nome utilizzata dal flusso di lavoro per memorizzare i dati trasmessi. Per maggiori dettagli, vedi Argomenti di runtime.
Connessione di servizi
- API HTTP
- Puoi definire un passaggio del flusso di lavoro che effettui una chiamata HTTP e assegnare la risposta dalla chiamata a una variabile. Ad esempio, puoi richiamare un Google Cloud come Cloud Functions o Cloud Run, tramite una connessione richiesta. Sono supportate sia le richieste HTTP che HTTPS. Per maggiori dettagli, vedi Effettuare una richiesta HTTP e Richiama Cloud Functions o Cloud Run.
- Puoi richiamare Compute Engine, Google Kubernetes Engine (GKE) o altri endpoint Google Cloud abilitando Identity-Aware Proxy (IAP). IAP ti consente di definire una di autorizzazione per le applicazioni a cui si accede tramite HTTPS, in modo da poter utilizzare di controllo dell'accesso a livello di applicazione, invece di affidarsi a quelli a livello di rete firewall. Per ulteriori informazioni, vedi Richiama privato on-prem, Compute Engine, GKE o un altro endpoint.
- In alternativa, puoi scegliere come target un endpoint privato per le chiamate HTTP dal tuo dell'esecuzione del flusso di lavoro utilizzando il registro dei servizi di Service Directory Workflows. Creando un endpoint privato all'interno di a una rete VPC (Virtual Private Cloud), l'endpoint può essere conforme ai Controlli di servizio VPC. Per ulteriori informazioni, vedi Richiama un endpoint privato conforme a Controlli di servizio VPC.
- Connettori
- Workflows pubblica connettori che possono essere utilizzati per la connessione a altre API Google Cloud all'interno di un flusso di lavoro e per integrare flussi di lavoro con quei prodotti Google Cloud. Semplificano le chiamate perché gestiscono la formattazione delle richieste per conto tuo e ti forniscono metodi e argomenti in modo che non sia necessario conoscere i dettagli l'API Google Cloud. Per maggiori dettagli, consulta Informazioni sui connettori.
- Libreria standard e variabili di ambiente
- La libreria standard di Workflows, le variabili di ambiente integrate, e variabili di ambiente definite dall'utente consentono di creare in modo efficiente per i servizi ed elabora le risposte.
- La libreria standard include moduli e funzioni utilizzate di frequente, ad esempio: per le conversioni dei tipi di dati e dei formati. Non è necessario importare o caricare librerie in un flusso di lavoro: le funzioni di libreria funzionano immediatamente. Per maggiori dettagli, consulta Panoramica della libreria standard.
- Puoi accedere alle informazioni sull'ambiente di un flusso di lavoro (come la posizione o identificatore del progetto) utilizzando le variabili di ambiente integrate. Ambiente integrato variabili non richiedono alcuna dichiarazione e sono disponibili in ogni esecuzione del flusso di lavoro. Per maggiori dettagli, vedi Variabili di ambiente integrate.
- Quando esegui il deployment di un flusso di lavoro, puoi impostare coppie di stringhe chiave-valore arbitrarie come: variabili di ambiente definite dall'utente accessibili dal tuo flusso di lavoro all'indirizzo runtime. Ad esempio, puoi creare un flusso di lavoro configurato dinamicamente a seconda dell'ambiente in cui viene eseguito il deployment. Per maggiori dettagli, vedi Utilizza le variabili di ambiente.
Gestione degli errori
Puoi rendere resilienti i tuoi flussi di lavoro e personalizzarne il comportamento quando si verifica un errore utilizzando gestione delle eccezioni, inclusi nuovi tentativi di chiamata HTTP automatizzati con backoff esponenziali, errori personalizzati gestori e altre funzionalità avanzate. Per maggiori dettagli, vedi Errori del flusso di lavoro.
In attesa
I callback consentono alle esecuzioni del flusso di lavoro di attendere che un altro servizio effettui un una richiesta all'endpoint di callback; che la richiesta riprende l'esecuzione nel tuo flusso di lavoro. Con i callback, puoi segnalare al tuo flusso di lavoro che un evento specifico si è verificato e attendere l'evento senza eseguire il polling. Per maggiori dettagli, vedi Attendi utilizzando i callback.
Puoi sospendere l'esecuzione di un flusso di lavoro aggiungendo un passaggio di sonno al tuo
definizione del flusso di lavoro. Puoi quindi utilizzare sys.sleep
per eseguire un sondaggio per i dati su una
a un determinato intervallo. Per maggiori dettagli, vedi Attendere l'utilizzo del polling.
Autenticazione e controllo degli accessi
Poiché ogni esecuzione di flusso di lavoro richiede una chiamata autenticata, puoi ridurre il rischio di chiamate accidentali o dannose utilizzando Workflows. Puoi anche semplificare le interazioni con altre API Google Cloud utilizzando Account di servizio basati su IAM, e archiviare in modo sicuro chiavi e password per l'autenticazione le API utilizzando Connettore Secret Manager. Per dettagli, scopri di più sull'autenticazione e controllo dell'accesso.
Osservabilità
Workflows genera automaticamente log di esecuzione per il flusso di lavoro eseguite in Cloud Logging. Puoi anche controllare quando i log vengono inviati Eseguire il logging durante l'esecuzione di un flusso di lavoro tramite il logging delle chiamate log personalizzati. Per maggiori dettagli, vedi Inviare log a Cloud Logging.
Le informazioni sugli audit log sono disponibili tramite Cloud Audit Logs. Per maggiori dettagli, Consulta le informazioni sugli audit log per i flussi di lavoro ed esecuzioni del flusso di lavoro.
Puoi recuperare la cronologia di un'esecuzione specifica di un flusso di lavoro sotto forma di elenco di voci di passaggi. Ogni voce rappresenta un passaggio o un blocco di istruzioni l'esecuzione del flusso di lavoro. Le voci dei passaggi possono aiutarti a determinare l'origine di a un errore o a ottimizzare le prestazioni di un flusso di lavoro.
Esempi di codice
Puoi trovare molti esempi di codice utili di Workflows nella pagina di esempio.
Passaggi successivi
Inizia a utilizzare Workflows dal Console Google Cloud o utilizzando gcloud CLI.
Scopri di più su creazione e aggiornamento dei flussi di lavoro.
Scopri come l'ordine in cui vengono eseguiti i passaggi di un flusso di lavoro.