Imposta le variabili di ambiente

Cloud Composer 1 | Cloud Composer 2

Questa pagina spiega come impostare le variabili di ambiente nel tuo ambiente Cloud Composer.

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

Le variabili di ambiente sono permanenti. Una volta specificata una variabile di ambiente, Airflow continua a utilizzarla finché non la rimuovi dall'ambiente.

Ad esempio, Cloud Composer utilizza il modulo Sendgrid di Apache Airflow per le notifiche via email. Per configurare le notifiche via email, devi impostare le variabili di ambiente SENDGRID_API_KEY e SENDGRID_MAIL_FROM.

Formato del nome

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

Le variabili di ambiente non devono specificare gli override di configurazione di Apache Airflow. Ciò significa che le variabili non possono utilizzare il formato AIRFLOW__{SECTION}__{KEY} o corrispondere all'espressione regolare AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+.

Variabili riservate

I seguenti nomi sono riservati e non possono essere utilizzati: - AIRFLOW_DATABASE_VERSION - AIRFLOW_HOME - AIRFLOW_SRC_DIR - AIRFLOW_WEBSERVER - AUTO_GKE - C_FORCE_ROOT - CLOUDSDK_METRICS_ENVIRONMENT - COMPOSER_ENVIRONMENT - COMPOSER_GKE_LOCATION - COMPOSER_GKE_NAME - COMPOSER_GKE_ZONE - COMPOSER_LOCATION - COMPOSER_VERSION - CONTAINER_NAME - DAGS_FOLDER/} -COMPOSER_OPERATION_UUIDCOMPOSER_PYTHON_VERSIONGCP_PROJECTGCP_TENANT_PROJECTGCS_BUCKETGCSFUSE_EXTRACTEDGKE_CLUSTER_NAMEGOOGLE_APPLICATION_CREDENTIALSMAJOR_VERSIONMINOR_VERSIONPATHPORTPROJECT_IDPIP_DISABLE_PIP_VERSION_CHECKPYTHONPYCACHEPREFIXSQL_DATABASESQL_HOSTSQL_INSTANCESQL_PASSWORDSQL_PROJECTSQL_REGIONSQL_USER

Imposta le variabili di ambiente per i nuovi ambienti

Puoi specificare le variabili di ambiente quando crei un ambiente. Per ulteriori 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 del tuo ambiente. Viene visualizzata 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'ulteriore variabile, fai clic su Aggiungi variabile di ambiente.
    • Per eliminare una variabile, tieni premuto il puntatore del mouse su una variabile e fai clic su Elimina elemento.

gcloud

I seguenti argomenti controllano le variabili di ambiente:

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

  • --remove-env-variables specifica un elenco separato da virgole di variabili di ambiente 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 della variabile.
  • Per aggiungere più di una variabile, separa le definizioni con delle 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

Crea una richiesta API environments.patch.

In questa richiesta:

  1. Nel parametro updateMask, specifica la maschera config.softwareConfig.envVariables per sostituire tutte le variabili esistenti con quelle specificate. Le variabili non specificate vengono eliminate.

  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, aggiungi ulteriori 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 le variabili di ambiente.

resource "google_composer_environment" "example" {
  provider = google-beta
  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, aggiungi ulteriori voci per le variabili a env_variables.

Esempio:

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

  config {

    software_config {

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

Passaggi successivi