Imposta le variabili di ambiente

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In questa pagina viene spiegato come impostare le variabili di ambiente in nell'ambiente Cloud Composer.

Cloud Composer utilizza le variabili di ambiente per modificare il runtime comportamento di Airflow o dei tuoi DAG.

Le variabili di ambiente sono permanenti. Dopo aver specificato una variabile di ambiente, Airflow continua a utilizzarlo finché non rimuovi la variabile dall'ambiente.

Ad esempio, Cloud Composer utilizza il modulo Sendgrid di Apache Airflow per notifiche via email. Per configurare le notifiche via email: devi impostare gli ambienti SENDGRID_API_KEY e SENDGRID_MAIL_FROM come la codifica one-hot delle variabili categoriche.

Formato del nome

Le variabili di ambiente devono corrispondere all'espressione regolare [a-zA-Z_][a-zA-Z0-9_]*.

Opzioni di configurazione di Airflow

Non è possibile specificare variabili che modificano Apache Airflow opzioni di configurazione.

Le variabili non possono utilizzare il formato AIRFLOW__{SECTION}__{KEY} o corrispondere alle espressione regolare AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+. Ad esempio, possibile impostare AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW.

In alternativa, puoi eseguire l'override delle opzioni di configurazione di Airflow.

Variabili riservate

I seguenti nomi di variabili sono riservati da Cloud Composer. È non è possibile creare variabili con questi nomi.

  • AIRFLOW_DATABASE_VERSION
  • AIRFLOW_HOME
  • AIRFLOW_SRC_DIR
  • AIRFLOW_WEBSERVER
  • AUTO_GKE
  • CLOUDSDK_METRICS_ENVIRONMENT
  • CLOUD_LOGGING_ONLY
  • COMPOSER_ENVIRONMENT
  • COMPOSER_GKE_LOCATION
  • COMPOSER_GKE_NAME
  • COMPOSER_GKE_ZONE
  • COMPOSER_LOCATION
  • COMPOSER_OPERATION_UUID
  • COMPOSER_PYTHON_VERSION
  • COMPOSER_VERSION
  • CONTAINER_NAME
  • C_FORCE_ROOT
  • DAGS_FOLDER
  • GCP_PROJECT
  • GCP_TENANT_PROJECT
  • GCSFUSE_EXTRACTED
  • GCS_BUCKET
  • GKE_CLUSTER_NAME
  • GKE_IN_TENANT
  • GOOGLE_APPLICATION_CREDENTIALS
  • MAJOR_VERSION
  • MINOR_VERSION
  • PATH
  • PIP_DISABLE_PIP_VERSION_CHECK
  • PORT
  • PROJECT_ID
  • PYTHONPYCACHEPREFIX
  • PYTHONWARNINGS
  • SQL_DATABASE
  • SQL_HOST
  • SQL_INSTANCE
  • SQL_PASSWORD
  • SQL_PROJECT
  • SQL_REGION
  • SQL_USER

Impostare le variabili di ambiente per i nuovi ambienti

Puoi specificare le variabili di ambiente quando crei un ambiente. Per ulteriori informazioni per informazioni, consulta Creare ambienti.

Imposta le variabili di ambiente per gli ambienti esistenti

Console

Per impostare le variabili di ambiente per un ambiente esistente:

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.

  3. Vai alla scheda Variabili di ambiente e fai clic su Modifica.

  4. Aggiungi, modifica o elimina le variabili di ambiente per il tuo ambiente:

    • Nel campo Nome, specifica il nome della variabile.
    • Nel campo Valore, specifica il valore della variabile.
    • Per aggiungere un'altra variabile, fai clic su Aggiungi variabile di ambiente.
    • Per eliminare una variabile, tieni il puntatore sopra una variabile, poi fai clic su Elimina articolo.

gcloud

I seguenti argomenti controllano le variabili di ambiente:

  • --update-env-variables specifica un elenco di ambienti separati da virgole variabili da creare o aggiornare.

  • --remove-env-variables specifica un elenco di ambienti separati da virgole variabili da eliminare.

  • --clear-env-variables elimina tutte le variabili di ambiente esistenti.

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --update-env-variables=NAME=VALUE

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • NAME con il nome della variabile che vuoi creare o aggiornare.
  • VALUE con il valore per la variabile.
  • Per aggiungere più di una variabile, separa le definizioni con virgole: NAME=VALUE,NAME=VALUE,....

Esempio:

gcloud composer environments update \
  example-environment \
  --location us-central1 \
  --update-env-variables=EXAMPLE_VARIABLE=True,ANOTHER_VARIABLE=test

API

Creare una richiesta API environments.patch.

In questa richiesta:

  1. Nel parametro updateMask, specifica Maschera config.softwareConfig.envVariables per sostituire tutti quelli esistenti variabili con le variabili specificate. Variabili non specificate vengono eliminati.

  2. Nel corpo della richiesta, specifica le variabili e i relativi valori:

    {
      "config": {
        "softwareConfig": {
          "envVariables": {
            "VAR_NAME": "VAR_VALUE"
          }
        }
      }
    }
    

    Sostituisci:

    • VAR_NAME con il nome della variabile di ambiente.
    • VAR_VALUE con il valore della variabile di ambiente.
    • Per aggiungere più di una variabile, inserisci altre voci per le variabili a envVariables.

Esempio:

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.envVariables
{
  "config": {
    "softwareConfig": {
      "envVariables": {
        "EXAMPLE_VARIABLE": "True",
        "ANOTHER_VARIABLE": "test"
      }
    }
  }
}

Terraform

Il blocco env_variables nel blocco software_config specifica variabili di ambiente.

resource "google_composer_environment" "example" {
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    software_config {

      env_variables = {
        VAR_NAME = "VAR_VALUE"
      }

    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.
  • VAR_NAME con il nome della variabile di ambiente.
  • VAR_VALUE con il valore della variabile di ambiente.
  • Per aggiungere più di una variabile, inserisci altre voci per le variabili a env_variables.

Esempio:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  config {

    software_config {

      env_variables = {
        EXAMPLE_VARIABLE = "True"
        ANOTHER_VARIABLE = "test"
      }
    }
  }
}

Passaggi successivi