Utilizza le variabili di ambiente

Puoi definire le variabili di ambiente per Workflows al momento del deployment. Ad esempio, puoi creare un flusso di lavoro configurato dinamicamente in base all'ambiente in cui viene eseguito il deployment. In alternativa, puoi creare un flusso di lavoro riutilizzabile come modello e configurato in base a variabili di ambiente gestite separatamente.

Le variabili di ambiente sono impostate come coppie di stringhe di chiave e valore arbitrarie accessibili dal tuo flusso di lavoro in fase di runtime. Sono archiviati nel backend di Workflows, hanno come ambito l'esecuzione del flusso di lavoro e sono immutabili durante l'esecuzione di un flusso di lavoro.

Tutte le variabili di ambiente sono associate al 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 deployment riuscito. Se per qualsiasi motivo un deployment non riesce, le eventuali modifiche alle variabili di ambiente non vengono applicate.

Puoi aggiungere, aggiornare o rimuovere le variabili di ambiente definite dall'utente utilizzando Google Cloud CLI.

Nomi riservati

Le variabili di ambiente integrate definite per Workflows sono riservate e non possono essere impostate.

Tieni presente che non puoi utilizzare quanto segue durante la definizione delle variabili di ambiente per Workflows:

Chiave Descrizione
Vuota ('') La stringa delle chiavi non può essere 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 quando esegui il deployment di un flusso di lavoro. Per apportare modifiche aggiuntive, consulta invece Aggiornare le variabili di ambiente in questo documento.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro:

    Vai a Workflows

  2. Nella pagina Flussi di lavoro, fai clic su Crea.

  3. Nella pagina Crea flusso di lavoro, completa i campi appropriati per configurare la definizione del flusso di lavoro.

  4. Nella sezione Variabili di ambiente (facoltative), fai clic su Aggiungi variabile.

  5. Nel campo Nome 1, specifica il nome della variabile.

  6. Nel campo Valore 1, specifica il valore della variabile.

  7. Per aggiungere un'altra variabile, fai clic su Aggiungi variabile.

  8. Tocca Avanti.

  9. Dopo aver definito il flusso di lavoro, per eseguirne il deployment fai clic su Esegui 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: nome della variabile di ambiente e relativo valore, ad esempio MONTH=January.

Terraform

Per creare un flusso di lavoro, utilizza la risorsa google_workflows_workflow e modifica il file main.tf come mostrato nell'esempio. Per maggiori 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.

Imposta 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

Carattere di escape mediante virgola

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

Archivia le variabili in un file

Per archiviare le variabili in un file (ad esempio, sotto il controllo del codice 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 in cui sono elencate 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 rimosse da Workflows prima dell'aggiunta delle nuove variabili di ambiente.

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 restituisce questo valore:

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 variabili di ambiente, ma non elimina le variabili.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro.

    Vai a Workflows

  2. Fai clic sul nome del flusso di lavoro da aggiornare.

    Viene visualizzata la pagina Dettagli flusso di lavoro.

  3. Per modificare una variabile di ambiente esistente, procedi in uno dei seguenti modi:

    • Fai clic sulla scheda Dettagli.

      1. Accanto a Variabili di ambiente, fai clic sull'icona .
      2. Apporta le modifiche.
      3. Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Salva.
    • Fai clic su Modifica.

      1. Nella sezione Variabili di ambiente (facoltative), apporta le modifiche.
      2. 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

Elimina variabili di ambiente

Puoi eliminare le variabili di ambiente definite dall'utente per i flussi di lavoro esistenti.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro.

    Vai a Workflows

  2. Fai clic sul nome del flusso di lavoro da aggiornare.

    Viene visualizzata la pagina Dettagli flusso di lavoro.

  3. Per eliminare una variabile di ambiente esistente, esegui una delle seguenti operazioni:

    • Fai clic sulla scheda Dettagli.

      1. Fai clic sull'elemento appropriato.
      2. Accanto alla variabile di ambiente da eliminare, fai clic sull'icona .
      3. Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Salva.
    • Fai clic su Modifica.

      1. Accanto alla variabile di ambiente da eliminare, fai clic sull'icona .
      2. Per eseguire il deployment del flusso di lavoro aggiornato, fai clic su Avanti e poi su Esegui il deployment.

gcloud

Per rimuovere selettivamente 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 o modificare eventuali variabili di ambiente che non hai impostato esplicitamente. Se modifichi variabili di ambiente diverse da quelle che hai impostato esplicitamente, potrebbero verificarsi conseguenze indesiderate.

Gestione dei secret

Le variabili di ambiente possono essere utilizzate per configurare i flussi di lavoro, ma non sono consigliate come metodo per archiviare e utilizzare secret come credenziali di database o chiavi API. Questi valori sensibili devono essere archiviati separatamente dal codice sorgente e dalle variabili di ambiente e non inviati inavvertitamente ai log.

Per l'archiviazione dei secret, ti consigliamo di rivedere le best practice per la gestione dei secret e seguire le istruzioni per utilizzare Secret Manager con Workflows.

Convenzioni di denominazione

Come regola generale, consigliamo che le chiavi variabile di ambiente siano composte esclusivamente da lettere maiuscole, numeri e trattini bassi (_) e non inizino con un numero. Valuta la possibilità di aggiungere una chiave univoca al prefisso delle variabili di ambiente definite dall'utente per evitare conflitti con altre variabili.

Limiti di dimensioni

È possibile definire un massimo di 20 variabili di ambiente definite dall'utente. Ogni stringa di definizione (KEY=value) è limitata a 4 KiB.

Passaggi successivi