Puoi creare e gestire i flussi di lavoro nella console Google Cloud o utilizzando Google Cloud CLI nel terminale o in Cloud Shell. Puoi anche gestire i flussi di lavoro tramite l'API Workflows.
Prima di iniziare
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Console
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API:
gcloud services enable workflows.googleapis.com
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Workflows API:
gcloud services enable workflows.googleapis.com
REST
Per gestire i flussi di lavoro utilizzando l'API Workflows, ti consigliamo di utilizzare le librerie client fornite da Google per chiamare il servizio workflows.googleapis.com
. Per maggiori informazioni, consulta
API Workflows.
Crea un account di servizio
Un account di servizio rappresenta l'identità di un flusso di lavoro e determina le autorizzazioni di cui dispone e le risorse Google Cloud a cui può accedere. Crea un account di servizio, se non ne hai già uno, quindi concedigli i ruoli necessari per la gestione dei flussi di lavoro e la creazione di log.
Se non specifichi un account di servizio durante la creazione del flusso di lavoro, il flusso di lavoro utilizza l'account di servizio Compute Engine predefinito per la sua identità. Per saperne di più, consulta Concedere un'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud.
Ti consigliamo vivamente di utilizzare un account di servizio con i privilegi minimi necessari per accedere alle risorse richieste.
Tieni presente che per creare una risorsa e collegare un account di servizio, devi disporre delle autorizzazioni per creare la risorsa e per rubare l'identità dell'account di servizio che collegherai alla risorsa. Per ulteriori informazioni, consulta Autorizzazioni degli account di servizio.
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona un progetto, poi fai clic su Crea account di servizio.
Inserisci un nome nel campo Nome account di servizio.
Il nome deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.
Fai clic su Crea e continua.
Fai clic su Seleziona un ruolo.
Seleziona i seguenti ruoli facendo clic su Aggiungi un altro ruolo, se necessario:
- Per creare, aggiornare ed eseguire i flussi di lavoro, seleziona Workflows > Editor di Workflows.
- Per inviare log a Cloud Logging, seleziona Logging > Scrittore di log.
Fai clic su Fine per completare la creazione dell'account di servizio.
gcloud
Crea il service account.
gcloud iam service-accounts create SERVICE_ACCOUNT
Concedi le autorizzazioni all'account di servizio assegnando i ruoli.
Per creare, aggiornare ed eseguire i workflow, assegna il ruolo
roles/workflows.editor
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/workflows.editor"
Per inviare log a Cloud Logging, assegna il ruolo
roles/logging.logWriter
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
Sostituisci quanto segue:
SERVICE_ACCOUNT
: il nome dell'account del servizio. Deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.PROJECT_ID
: l'ID del tuo progetto.
REST
Puoi utilizzare il metodo
serviceAccounts.create
per creare un account di servizio. Per ulteriori informazioni, consulta
Creare account di servizio.
Puoi concedere più ruoli in modo programmatico modificando e impostando il criterio di autorizzazione per una risorsa utilizzando il metodo setIamPolicy
. Per ulteriori informazioni, consulta Concedere o revocare più ruoli tramite programmazione.
Crea un flusso di lavoro
Una definizione di flusso di lavoro è composta da una serie di passaggi descritti utilizzando la sintassi di Workflows, che può essere scritta in formato YAML o JSON. Dopo aver definito un flusso di lavoro, lo esegui per renderlo disponibile per l'esecuzione. Il passaggio di deployment convalida anche che il file di origine possa essere eseguito. L'operazione non va a buon fine se il file di origine non contiene una definizione di flusso di lavoro valida.
La modifica dei file YAML può essere soggetta a errori. Puoi creare il tuo flusso di lavoro utilizzando un IDE o un editor di codice sorgente preferito e configurando il completamento automatico e la convalida della sintassi per ridurre gli errori.
Console
Nella console Google Cloud, vai alla pagina Workflows.
Fai clic su
Crea.Inserisci un nome per il flusso di lavoro, ad esempio
myFirstWorkflow
. Il nome può contenere lettere, numeri, trattini bassi e trattini. Deve iniziare con una lettera e terminare con un numero o una lettera.Se vuoi, aggiungi una descrizione del flusso di lavoro.
Nell'elenco Regione, seleziona una località appropriata in cui eseguire il deployment del flusso di lavoro, ad esempio us-central1.
Nell'elenco Account di servizio, seleziona un account di servizio che verrà utilizzato dal tuo flusso di lavoro per accedere ad altri servizi Google Cloud. Per ulteriori informazioni, consulta Creare un account di servizio in questo documento.
Se vuoi, esegui una delle seguenti operazioni:
Specifica il livello di registrazione delle chiamate da applicare alla definizione del flusso di lavoro. Nell'elenco Livello di log delle chiamate, seleziona una delle seguenti opzioni:
- Non specificato: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del workflow, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del workflow.
- Solo errori: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.
- Tutte le chiamate: registra tutte le chiamate ai flussi di lavoro secondari o alle funzioni della libreria e i relativi risultati.
- Nessun log: nessuna registrazione delle chiamate.
Specifica una chiave Cloud Key Management Service che il flusso di lavoro deve utilizzare per la crittografia dei dati: seleziona Chiave di crittografia gestita dal cliente (CMEK). Per maggiori informazioni, consulta Utilizzare le chiavi di crittografia gestite dal cliente.
Specifica una variabile di ambiente accessibile dal tuo flusso di lavoro in fase di runtime. Per ulteriori informazioni, consulta Utilizzare le variabili di ambiente.
Aggiungi un'etichetta: le etichette sono coppie chiave/valore che ti aiutano a organizzare le tue istanze Google Cloud. Per saperne di più, vedi Che cosa sono le etichette? Le etichette dei workflow vengono ereditate dalle esecuzioni del workflow. Per visualizzare le etichette di esecuzione, utilizza il metodo
workflows.executions.list
per elencare e filtrare le esecuzioni dei workflow.Pianifica il flusso di lavoro: seleziona Aggiungi nuovo trigger > Cloud Scheduler. Per ulteriori informazioni, consulta Pianificare un flusso di lavoro utilizzando Cloud Scheduler.
Attiva il flusso di lavoro tramite un evento o un messaggio Pub/Sub: seleziona Aggiungi nuovo trigger > Eventarc. Per ulteriori informazioni, consulta Attivare un flusso di lavoro con eventi o messaggi Pub/Sub.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la definizione del flusso di lavoro. Visualizza un esempio di flusso di lavoro.
Fai clic su Esegui il deployment.
gcloud
Assicurati che il codice sorgente del flusso di lavoro sia salvato in un file YAML o JSON, ad esempio
MY_WORKFLOW.YAML
oMY_WORKFLOW.JSON
. Visualizza un esempio di flusso di lavoro.Apri un terminale.
Puoi creare ed eseguire il deployment di un flusso di lavoro utilizzando il comando
gcloud workflows deploy
:gcloud workflows deploy WORKFLOW_NAME \ --location=LOCATION \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \ --source=YAML_OR_JSON_SOURCE_FILE
Sostituisci quanto segue:
WORKFLOW_NAME
: il nome del flusso di lavoro, ad esempiomyFirstWorkflow
. Il nome può contenere lettere, numeri, trattini bassi e trattini. Deve iniziare con una lettera e terminare con un numero o una lettera.LOCATION
: la regione in cui eseguire il deployment del flusso di lavoro; ad esempio,us-central1
.CALL_LOGGING_LEVEL
: facoltativo. Il livello di registrazione delle chiamate da applicare durante l'esecuzione. Può essere uno dei seguenti:none
: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del workflow, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del workflow.log-errors-only
: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.log-all-calls
: registra tutte le chiamate ai sottoprocessi o alle funzioni della raccolta e i relativi risultati.log-none
: nessun registro chiamate.
DESCRIPTION
: facoltativo. Una descrizione del flusso di lavoro.LABEL_KEY=LABEL_VALUE
: facoltativo. Elenco di coppie chiave/valore delle etichette che ti aiutano a organizzare le tue istanze Google Cloud, ad esempioname=wrench
. Per maggiori informazioni, vedi Che cosa sono le etichette? Le etichette dei workflow vengono ereditate dalle esecuzioni del workflow. Per visualizzare le etichette di esecuzione, utilizza il metodoworkflows.executions.list
per elencare e filtrare le esecuzioni dei workflow.ENV_KEY=ENV_VALUE
: facoltativo. Elenco di coppie chiave-valore variabile di ambiente; ad esempio,MONTH=January
. Per maggiori informazioni, consulta la sezione Utilizzare le variabili di ambiente.ENCRYPT_KEY
: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Per saperne di più, consulta Utilizzare le chiavi di crittografia gestite dal cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facoltativo. L'account di servizio che il flusso di lavoro utilizzerà per accedere ad altri servizi Google Cloud. Per ulteriori informazioni, consulta la sezione Creare un account di servizio di questo documento.YAML_OR_JSON_SOURCE_FILE
: il file di origine per la definizione del flusso di lavoro. Ad esempio:myFirstWorkflow.yaml
.
REST
Per creare un nuovo workflow con un nome specificato, utilizza il metodo
projects.locations.workflows.create
e il parametro di query workflowId
per specificare un ID per il
workflow.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
WORKFLOW_NAME
: il nome del flusso di lavoro, ad esempiomyFirstWorkflow
. Il nome può contenere lettere, numeri, trattini bassi e trattini. Deve iniziare con una lettera e terminare con una lettera o un numero.DESCRIPTION
: facoltativo. Una descrizione del tuo flusso di lavoro. Non deve contenere più di 1000 caratteri Unicode.LABEL_KEY
eLABEL_VALUE
: facoltativi. Una mappa di coppie chiave/valore di etichette che ti aiutano a organizzare le tue istanze Google Cloud. Ad esempio:{"name": "wrench", "mass": "1kg", "count": "3"}
Per saperne di più, consulta Che cosa sono le etichette? Le etichette del workflow vengono ereditate dalle esecuzioni del workflow. Per visualizzare le etichette di esecuzione, utilizza il metodoworkflows.executions.list
per elencare e filtrare le esecuzioni dei workflow.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facoltativo. L'account di servizio utilizzato dal flusso di lavoro per accedere ad altri servizi Google Cloud. L'ID progetto è l'ID del tuo progetto Google Cloud. Per ulteriori informazioni, consulta la sezione Creare un account di servizio di questo documento.ENCRYPT_KEY
: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.CALL_LOGGING_LEVEL
: facoltativo. Il livello di registrazione delle chiamate da applicare durante l'esecuzione. Per impostazione predefinita, non viene specificato alcun livello di registrazione e viene applicato il livello di log del workflow. Per ulteriori informazioni, consulta la sezione Inviare log a Logging. Uno dei seguenti:CALL_LOG_LEVEL_UNSPECIFIED
: non è specificato alcun livello di logging e viene applicato il livello di log del flusso di lavoro. Questa è l'impostazione predefinita. In caso contrario, viene applicato il livello di log dell'esecuzione e ha la precedenza sul livello di log del workflow.LOG_ERRORS_ONLY
: registra tutte le eccezioni rilevate oppure quando una chiamata viene bloccata a causa di un'eccezione.LOG_ALL_CALLS
: registra tutte le chiamate ai sottoprocessi o alle funzioni della libreria e i relativi risultati.LOG_NONE
: nessun registro chiamate.
ENV_KEY
eENV_VALUE
: facoltativi. Una mappa di coppie chiave e valore variabile di ambiente; ad esempio,{ "month": "January", "day": "Monday"}
. Per ulteriori informazioni, consulta Utilizzare le variabili di ambiente.SOURCE_CODE
: la definizione del flusso di lavoro. Devi utilizzare l'interpretazione letterale delle nuove righe in YAML. Ad esempio:main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello
Devi utilizzare l'interpretazione letterale delle virgolette in JSON. Ad esempio:
{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: la regione in cui deve essere eseguito il deployment del workflow, ad esempious-central1
.
Corpo JSON della richiesta:
{ "name": "WORKFLOW_NAME", "description": "DESCRIPTION", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "cryptoKeyName": "ENCRYPT_KEY", "callLogLevel": "CALL_LOGGING_LEVEL", "userEnvVars": {"ENV_KEY":"ENV_VALUE"}, "sourceContents": "SOURCE_CODE" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata", "createTime": "2023-12-05T14:06:06.338390918Z", "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME", "verb": "create", "apiVersion": "v1" }, "done": false }
Se il valore di "done"
è false
, l'operazione è ancora in corso.
Elenco flussi di lavoro
Puoi elencare i flussi di lavoro o utilizzare i filtri per recuperare un flusso di lavoro specifico.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Questa pagina elenca i flussi di lavoro in tutte le località e include dettagli come nomi, regioni, revisioni più recenti e altro ancora.
Per filtrare i flussi di lavoro:
- Fai clic su Filtro o sul campo Filtra flussi di lavoro.
- Nell'elenco Proprietà, seleziona un'opzione in base alla quale filtrare i flussi di lavoro.
Puoi selezionare una singola proprietà o utilizzare l'operatore logico
OR
per aggiungere altre proprietà.Per ordinare i flussi di lavoro, fai clic su
Ordina accanto a un'intestazione di colonna supportata.
gcloud
Elenca i flussi di lavoro utilizzando il comando
gcloud workflows list
:
gcloud workflows list --location=LOCATION
Sostituisci LOCATION
con l'ID o l'identificatore completamente qualificato della posizione del flusso di lavoro.
Questo comando elenca i flussi di lavoro nella posizione specificata e include dettagli come NAME
, STATE
, REVISION_ID
e
UPDATE_TIME
di un flusso di lavoro.
REST
Per elencare i workflow in un determinato progetto e in una determinata località, utilizza il metodo
projects.locations.workflows.list
.
In alternativa, per recuperare i dettagli di un singolo flusso di lavoro, utilizza il metodo
projects.locations.workflows.get
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui vengono eseguiti i deployment dei flussi di lavoro, ad esempious-central1
.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene istanze di
Workflow
e la risposta dovrebbe essere simile alla seguente:
{ "workflows": [ { "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME", "state": "ACTIVE", "revisionId": "000001-0ce", "createTime": "2023-12-08T13:56:59.306770745Z", "updateTime": "2023-12-08T13:56:59.547021939Z", "revisionCreateTime": "2023-12-08T13:56:59.340161044Z", "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com", "sourceContents": "main:\n params: [input]\n [...] return: '${wikiResult.body[1]}'\n" }, { object (Workflow) } ], "nextPageToken": string, "unreachable": [ string ] }
Aggiornare un flusso di lavoro
Puoi aggiornare un flusso di lavoro esistente. Devi specificare il nome del flusso di lavoro da aggiornare e la relativa origine. Tieni presente che non puoi modificare il nome o la posizione di un flusso di lavoro.
L'aggiornamento di un flusso di lavoro non influisce sulle esecuzioni in corso. Solo le future esecutioni del flusso di lavoro utilizzeranno la configurazione aggiornata.
Ogni volta che aggiorni un flusso di lavoro, viene aggiornato il relativo versionID
. versionID
è costituito da due parti separate da un trattino:
Un numero, che inizia da 1, che aumenta ogni volta che aggiorni un flusso di lavoro.
Una stringa alfanumerica casuale di tre caratteri.
Ad esempio, 000001-27f
indica la versione iniziale di un flusso di lavoro e
000002-d52
indica un flusso di lavoro che è stato aggiornato una volta.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic sul nome del flusso di lavoro da aggiornare. Tieni presente che non puoi modificare il nome del flusso di lavoro.
Viene visualizzata la pagina Dettagli flusso di lavoro.
Puoi modificare il flusso di lavoro nei seguenti modi:
Per modificare l'origine:
- Fai clic sulla scheda Origine.
- Fai clic su Modifica.
- Per salvare le modifiche, fai clic su Salva. Il flusso di lavoro aggiornato viene eseguito.
Per aggiornare la descrizione, l'account di servizio utilizzato dal flusso di lavoro per l'autenticazione, il livello del log delle chiamate, le variabili di ambiente, le etichette o la chiave di crittografia:
- Fai clic sulla scheda Dettagli.
- Fai clic sull'icona appropriata.
- Se stai aggiornando il livello della cronologia chiamate, seleziona una delle seguenti opzioni:
- Non specificato: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del workflow, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del workflow.
- Solo errori: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.
- Tutte le chiamate: registra tutte le chiamate ai flussi di lavoro secondari o alle funzioni della libreria e i relativi risultati.
- Nessun log: nessuna registrazione delle chiamate.
- Se aggiorni un'etichetta esistente o ne aggiungi una nuova, l'applicazione della nuova etichetta può richiedere fino a 10 minuti. Le etichette del flusso di lavoro vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione,
utilizza il metodo
workflows.executions.list
per elencare e filtrare le esecuzioni dei workflow. - Per salvare le modifiche, fai clic su Salva. Il flusso di lavoro aggiornato viene eseguito.
Per modificare contemporaneamente i campi precedenti o aggiungere o aggiornare un attivatore:
- Fai clic su Modifica.
- Per modificare l'origine, fai clic su Avanti.
- Per salvare le modifiche ed eseguire il deployment del flusso di lavoro aggiornato, fai clic su Deployment.
Se vuoi aggiornare i ruoli per il tuo account di servizio, fai clic sulla scheda Autorizzazioni.
Le entità sono utenti, gruppi, domini o account di servizio. Per aggiornare un principale esistente:
- Trova una riga contenente l'entità.
- Fai clic su Modifica entità nella corrispondente riga.
- Fai clic su Aggiungi un altro ruolo o su Elimina ruolo.
Se aggiungi un ruolo, selezionane uno appropriato nell'elenco Seleziona un ruolo.
Per aggiungere un altro ruolo, fai clic su Aggiungi un altro ruolo.
Fai clic su Salva.
gcloud
Apri un terminale.
Trova il nome del flusso di lavoro da aggiornare. Se non conosci il nome del flusso di lavoro, puoi inserire il seguente comando per elencare tutti i tuoi flussi di lavoro:
gcloud workflows list
Individua il file YAML o JSON in cui è salvata l'origine del flusso di lavoro, come
WORKFLOW_NAME.YAML
oWORKFLOW_NAME.JSON
.Puoi aggiornare un flusso di lavoro esistente per modificarne l'origine, la descrizione, le etichette, le variabili di ambiente, il livello del log delle chiamate, la chiave di crittografia o il account di servizio associato utilizzando il comando
gcloud workflows deploy
.Devi specificare il nome del flusso di lavoro che vuoi aggiornare e la relativa fonte. Tuttavia, il resto degli indicatori è facoltativo. Per rimuovere una chiave di crittografia gestita dal cliente, usa il flag
--clear-kms-key
.gcloud workflows deploy WORKFLOW_NAME \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \ --source=YAML_OR_JSON_SOURCE_FILE
Sostituisci quanto segue:
WORKFLOW_NAME
: obbligatorio. Il nome del flusso di lavoro.CALL_LOGGING_LEVEL
: facoltativo. Livello di registrazione delle chiamate da applicare al flusso di lavoro. Può essere uno dei seguenti:none
: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del workflow, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del workflow.log-errors-only
: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.log-all-calls
: registra tutte le chiamate ai sottoprocessi o alle funzioni della raccolta e i relativi risultati.log-none
: nessun registro chiamate.
DESCRIPTION
: facoltativo. Una descrizione del flusso di lavoro.LABEL_KEY=LABEL_VALUE
: facoltativo. Elenco di coppie chiave/valore delle etichette che ti aiutano a organizzare le tue istanze Google Cloud, ad esempioname=wrench
. Per maggiori informazioni, vedi Che cosa sono le etichette? Le etichette dei workflow vengono ereditate dalle esecuzioni del workflow. Per visualizzare le etichette di esecuzione, utilizza il metodoworkflows.executions.list
per elencare e filtrare le esecuzioni dei workflow.ENV_KEY=ENV_VALUE
: facoltativo. Elenco di coppie chiave-valore variabile di ambiente; ad esempio,MONTH=January
. Per maggiori informazioni, consulta la sezione Utilizzare le variabili di ambiente.ENCRYPT_KEY
: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Per saperne di più, consulta Utilizzare le chiavi di crittografia gestite dal cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facoltativo. L'account di servizio che il flusso di lavoro utilizzerà per accedere ad altri servizi Google Cloud. Se vuoi aggiornare i ruoli per il tuo account di servizio, consulta Concedere un'autorizzazione dei flussi di lavoro per accedere alle risorse Google Cloud e Gestire l'accesso a progetti, cartelle e organizzazioni.YAML_OR_JSON_SOURCE_FILE
: obbligatorio. Il file di origine per il flusso di lavoro in formato YAML o JSON. Ad esempio:myFirstWorkflow.yaml
.
REST
Per aggiornare un flusso di lavoro esistente, utilizza il metodo
projects.locations.workflows.patch
e, facoltativamente, il parametro di query updateMask
per specificare un elenco
di campi da aggiornare.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
WORKFLOW_NAME
: il nome del flusso di lavoro, ad esempiomyFirstWorkflow
.DESCRIPTION
: facoltativo. Una descrizione del tuo flusso di lavoro. Non deve contenere più di 1000 caratteri Unicode.LABEL_KEY
eLABEL_VALUE
: facoltativi. Una mappa di coppie chiave/valore di etichette che ti aiutano a organizzare le tue istanze Google Cloud. Ad esempio:{"name": "wrench", "mass": "1kg", "count": "3"}
Per saperne di più, consulta Che cosa sono le etichette? Le etichette del workflow vengono ereditate dalle esecuzioni del workflow. Per visualizzare le etichette di esecuzione, utilizza il metodoworkflows.executions.list
per elencare e filtrare le esecuzioni dei workflow.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: facoltativo. L'account di servizio utilizzato dal flusso di lavoro per accedere ad altri servizi Google Cloud. L'ID progetto è l'ID del tuo progetto Google Cloud. Per ulteriori informazioni, consulta la sezione Creare un account di servizio di questo documento.ENCRYPT_KEY
: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.CALL_LOGGING_LEVEL
: facoltativo. Il livello di registrazione delle chiamate da applicare durante l'esecuzione. Per impostazione predefinita, non viene specificato alcun livello di registrazione e viene applicato il livello di log del workflow. Per ulteriori informazioni, consulta la sezione Inviare log a Logging. Uno dei seguenti:CALL_LOG_LEVEL_UNSPECIFIED
: non è specificato alcun livello di logging e viene applicato il livello di log del flusso di lavoro. Questa è l'impostazione predefinita. In caso contrario, viene applicato il livello di log dell'esecuzione e ha la precedenza sul livello di log del workflow.LOG_ERRORS_ONLY
: registra tutte le eccezioni rilevate oppure quando una chiamata viene bloccata a causa di un'eccezione.LOG_ALL_CALLS
: registra tutte le chiamate ai sottoprocessi o alle funzioni della libreria e i relativi risultati.LOG_NONE
: nessun registro chiamate.
ENV_KEY
eENV_VALUE
: facoltativi. Una mappa di coppie chiave e valore variabile di ambiente; ad esempio,{ "month": "January", "day": "Monday"}
. Per ulteriori informazioni, consulta Utilizzare le variabili di ambiente.SOURCE_CODE
: la definizione del flusso di lavoro minimizzata. Ad esempio:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: la regione in cui è stato eseguito il deployment del workflow, ad esempious-central1
.UPDATE_FIELDS
: facoltativo. Un elenco di campi da aggiornare separati da virgole. Se non viene fornito, viene aggiornato l'intero flusso di lavoro. Ad esempiodescription,callLogLevel
.
Corpo JSON della richiesta:
{ "name": "WORKFLOW_NAME", "description": "DESCRIPTION", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com", "cryptoKeyName": "ENCRYPT_KEY", "callLogLevel": "CALL_LOGGING_LEVEL", "userEnvVars": {"ENV_KEY":"ENV_VALUE"}, "sourceContents": "SOURCE_CODE" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata", "createTime": "2023-12-05T14:06:06.338390918Z", "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME", "verb": "update", "apiVersion": "v1" }, "done": false }
Se il valore di "done"
è false
, l'operazione è ancora in corso.
Eliminare un flusso di lavoro
Puoi eliminare un flusso di lavoro esistente. L'eliminazione di un workflow comporta anche l'eliminazione delle relative esecuzioni e l'annullamento di eventuali esecuzioni attive per il workflow.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic sul nome del flusso di lavoro che vuoi eliminare e poi su
Elimina.Quando ti viene chiesto di confermare l'eliminazione, inserisci il nome del flusso di lavoro.
Fai clic su Conferma.
gcloud
Apri un terminale.
Trova il nome del flusso di lavoro che vuoi eliminare. Se non conosci il nome del flusso di lavoro, puoi inserire il seguente comando per elencare tutti i tuoi flussi di lavoro:
gcloud workflows list
Elimina un flusso di lavoro utilizzando il comando
gcloud workflows delete
:gcloud workflows delete WORKFLOW_NAME
Sostituisci
WORKFLOW_NAME
con il nome del workflow.
REST
Per eliminare un flusso di lavoro con un nome specificato, utilizza il metodo
projects.locations.workflows.delete
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
WORKFLOW_NAME
: il nome del workflow che vuoi eliminare.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione in cui è stato eseguito il deployment del workflow, ad esempious-central1
.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata", "createTime": "2023-12-05T14:06:06.338390918Z", "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME", "verb": "delete", "apiVersion": "v1" }, "done": false }
Se il valore di "done"
è false
, l'operazione è ancora in corso.