Puoi definire variabili di ambiente per i flussi di lavoro al momento del deployment. Ad esempio, puoi creare un flusso di lavoro che viene configurato dinamicamente a seconda dell'ambiente a cui viene di cui è stato eseguito il deployment. In alternativa, puoi creare un flusso di lavoro che può essere riutilizzato come modello e configurato in base a variabili di ambiente gestite separatamente.
Le variabili di ambiente sono impostate come coppie chiave-valore arbitrarie che sono accessibili dal flusso di lavoro in fase di runtime. Vengono archiviati backend di Workflows, limitando l'ambito all'esecuzione del flusso di lavoro e sono immutabili durante l'esecuzione di un flusso di lavoro.
Tutte le variabili di ambiente sono associate a un deployment di un flusso di lavoro e possono essere impostate o modificate solo con un deployment. La creazione o la modifica di una variabile di ambiente richiede un'implementazione riuscita. Se un deployment non riesce per qualsiasi motivo, eventuali modifiche alle variabili di ambiente non vengono applicate.
Puoi aggiungere, aggiornare o rimuovere le variabili di ambiente definite dall'utente utilizzando gcloud CLI.
Nomi riservati
Le variabili di ambiente integrate definiti per Workflows sono riservati e non possono essere impostati.
Tieni presente che non puoi utilizzare quanto segue quando definisci le variabili di ambiente per Workflows:
Chiave | Descrizione |
---|---|
Vuoto ('' ) |
Le chiavi non possono essere una stringa vuota. |
GOOGLE_ |
Le chiavi non possono contenere il prefisso GOOGLE_ . |
WORKFLOWS_ |
Le chiavi non possono contenere il prefisso WORKFLOWS_ . |
Imposta le variabili di ambiente
Puoi definire nuove variabili o sostituire quelle esistenti durante il deployment di un workfow. Per apportare modifiche aggiuntive, in questo documento vedi Aggiorna le variabili di ambiente.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro:
Nella pagina Flussi di lavoro, fai clic su
Crea.Nella pagina Crea flusso di lavoro, compila i campi appropriati per configurare la definizione del flusso di lavoro.
Nella sezione Variabili di ambiente (facoltative), fai clic su Aggiungi variabile.
Nel campo Nome 1, specifica il nome della variabile.
Nel campo Valore 1, specifica il valore della variabile.
Per aggiungere un'altra variabile, fai clic su Aggiungi variabile.
Fai clic su Avanti.
Dopo aver definito il flusso di lavoro, fai clic su Esegui il deployment per eseguirne il deployment.
gcloud
Per impostare una variabile di ambiente, utilizza il flag --set-env-vars
:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars KEY1=VALUE1
Sostituisci quanto segue:
WORKFLOW_NAME
: l'ID del flusso di lavoro.KEY1=VALUE1
: il nome della variabile di ambiente e il relativo valore; ad esempio,MONTH=January
.
Terraform
Per creare un flusso di lavoro, utilizza
google_workflows_workflow
risorsa
e modifica il file main.tf
come mostrato nell'esempio. Per ulteriori informazioni, consulta Creare un flusso di lavoro utilizzando Terraform.
Utilizza l'argomento user_env_vars
per associare una variabile di ambiente alla revisione del flusso di lavoro.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Impostare più variabili di ambiente
Per impostare più variabili di ambiente, utilizza un elenco separato da virgole:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Caratteri di escape per le virgole
Poiché il carattere virgola (,
) viene utilizzato per delimitare le variabili di ambiente, se i valori delle variabili includono virgole, devi specificare un carattere delimitatore diverso, ad esempio @
:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2
Archiviare variabili in un file
Per archiviare le variabili in un file (ad esempio, in un sistema di controllo dei file sorgente), utilizza un
file YAML e il flag --env-vars-file
:
gcloud workflows deploy WORKFLOW_NAME \ --env-vars-file FILE_PATH
Sostituisci FILE_PATH
con il percorso di un file YAML locale
che elenca le definizioni delle variabili di ambiente. Tieni presente che i nomi e i valori delle variabili devono essere stringhe. Tutte le variabili di ambiente esistenti
vengono rimossi da Workflows prima delle nuove variabili di ambiente
vengono aggiunti.
Ad esempio, i contenuti del file YAML potrebbero essere i seguenti:
KEY1: "value1" KEY2: "value2"
Per ulteriori informazioni sul comando deploy
, consulta
gcloud workflows deploy
.
Accedi alle variabili di ambiente
Per accedere a una variabile di ambiente, effettua una chiamata alla funzione
sys.get_env()
in un
espressione, passando il nome della variabile di ambiente come parametro. Il
nome della variabile di ambiente deve essere passato come stringa.
Ad esempio, il seguente flusso di lavoro assegna il valore della variabile di ambiente KEY1
a una variabile di flusso di lavoro denominata keyValue
e poi lo restituisce:
main: steps: - init: assign: - keyValue: ${sys.get_env("KEY1")} - returnResult: return: ${keyValue}
Aggiorna le variabili di ambiente
Puoi aggiornare le variabili di ambiente definite dall'utente per i flussi di lavoro esistenti. Si tratta di un approccio non distruttivo che modifica o aggiunge le variabili di ambiente, ma non le elimina.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic sul nome del flusso di lavoro da aggiornare.
Viene visualizzata la pagina Dettagli flusso di lavoro.
Per modificare una variabile di ambiente esistente, esegui una delle seguenti operazioni:
Fai clic sulla scheda Dettagli.
- Accanto a Variabili di ambiente, fai clic sul .
- Apporta le modifiche.
- Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Salva.
Clic
Modifica:- Nella sezione Variabili di ambiente (facoltative), apporta le tue modifiche.
- Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Avanti e poi su Esegui il deployment.
gcloud
Per aggiornare una variabile, utilizza il flag --update-env-vars
:
gcloud workflows deploy WORKFLOW_NAME \ --update-env-vars KEY1=VALUE1
Per aggiornare più variabili di ambiente, utilizza un elenco separato da virgole:
gcloud workflows deploy WORKFLOW_NAME \ --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Eliminare le variabili di ambiente
Puoi eliminare le variabili di ambiente definite dall'utente per i flussi di lavoro esistenti.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro.
Fai clic sul nome del flusso di lavoro da aggiornare.
Viene visualizzata la pagina Dettagli flusso di lavoro.
Per eliminare una variabile di ambiente esistente, esegui una delle seguenti operazioni:
Fai clic sulla scheda Dettagli.
- Fai clic sul appropriato.
- Fai clic sull'icona accanto alla variabile di ambiente che vuoi eliminare.
- Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Salva.
Clic
Modifica:- Fai clic sull'icona accanto alla variabile di ambiente che vuoi eliminare.
- Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Avanti e poi su Esegui il deployment.
gcloud
Se vuoi rimuovere in modo selettivo le variabili di ambiente, utilizza il flag --remove-env-vars
:
gcloud workflows deploy WORKFLOW_NAME \ --remove-env-vars KEY1,KEY2
In alternativa, puoi cancellare tutte le variabili di ambiente impostate in precedenza con il flag --clear-env-vars
:
gcloud workflows deploy WORKFLOW_NAME \ --clear-env-vars
Best practice
Come best practice, ti consigliamo di non dipendere da o modificare variabili di ambiente che non hai impostato in modo esplicito. Se modifichi le variabili di ambiente diverse da quelle impostate esplicitamente, potresti provocare conseguenze impreviste.
Gestione dei secret
Le variabili di ambiente possono essere utilizzate per configurare i flussi di lavoro, ma non sono consigliato come metodo per archiviare e utilizzare secret come le credenziali di database o chiavi API. Questi valori sensibili devono essere archiviati separatamente dal codice sorgente e dalle variabili di ambiente e non devono essere inviati inavvertitamente ai log.
Per l'archiviazione dei secret, ti consigliamo di consultare le best practice per la gestione dei secret e di seguire le istruzioni per utilizzare Secret Manager con i flussi di lavoro.
Convenzioni di denominazione
Come regola generale, consigliamo che le chiavi variabile di ambiente siano costituite esclusivamente da
lettere maiuscole, numeri e trattini bassi (_
) e che non inizino con
una cifra. Valuta la possibilità di anteporre alle variabili di ambiente definite dall'utente una chiave unica per evitare conflitti con altre variabili.
Limiti di dimensioni
Puoi definire un massimo di 20 variabili di ambiente definite dall'utente. Ciascuna
la stringa di definizione (KEY=value
) è limitata a 4 KiB.