Umgebungsvariablen festlegen

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird erläutert, wie Sie Umgebungsvariablen in Ihrer Cloud Composer-Umgebung festlegen.

Cloud Composer verwendet die Umgebungsvariablen, um die Laufzeit zu ändern von Airflow oder Ihren DAGs.

Umgebungsvariablen sind persistent. Nachdem Sie eine Umgebungsvariable angegeben haben, verwendet Airflow diese so lange, bis Sie die Variable aus Ihrer Umgebung entfernen.

Beispiel: Cloud Composer das Sendgrid-Modul von Apache Airflow für E-Mail-Benachrichtigungen. Zum Konfigurieren von E-Mail-Benachrichtigungen müssen Sie die Umgebungsvariablen SENDGRID_API_KEY und SENDGRID_MAIL_FROM festlegen.

Namensformat

Umgebungsvariablen müssen dem regulären Ausdruck [a-zA-Z_][a-zA-Z0-9_]* entsprechen.

Airflow-Konfigurationsoptionen

Es ist nicht möglich, Variablen anzugeben, die Apache Airflow ändern Konfigurationsoptionen.

Die Variablen dürfen nicht das Format AIRFLOW__{SECTION}__{KEY} haben oder mit dem regulärer Ausdruck AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+ Es ist beispielsweise nicht möglich, AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW festzulegen.

Stattdessen können Sie Airflow-Konfigurationsoptionen überschreiben.

Reservierte Variablen

Die folgenden Variablennamen sind in Cloud Composer reserviert. Es ist Variablen mit diesen Namen können nicht erstellt werden.

  • 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

Umgebungsvariablen für neue Umgebungen festlegen

Sie können Umgebungsvariablen beim Erstellen einer Umgebung angeben. Weitere Informationen Weitere Informationen finden Sie unter Umgebungen erstellen.

Umgebungsvariablen für vorhandene Umgebungen festlegen

Console

So legen Sie Umgebungsvariablen für eine vorhandene Umgebung fest:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wechseln Sie zum Tab Umgebungsvariablen und klicken Sie auf Bearbeiten.

  4. So fügen Sie Umgebungsvariablen für Ihre Umgebung hinzu, ändern sie oder löschen sie:

    • Geben Sie im Feld Name den Variablennamen ein.
    • Geben Sie im Feld Wert den Wert der Variablen an.
    • Wenn Sie eine zusätzliche Variable hinzufügen möchten, klicken Sie auf Umgebungsvariable hinzufügen.
    • Um eine Variable zu löschen, halten Sie den Mauszeiger über eine Variable und klicken Sie Artikel löschen

gcloud

Die folgenden Argumente steuern Umgebungsvariablen:

  • --update-env-variables gibt eine durch Kommas getrennte Liste von Umgebungen an die zu erstellen oder zu aktualisieren sind.

  • --remove-env-variables gibt eine durch Kommas getrennte Liste der zu löschenden Umgebungsvariablen an.

  • Mit --clear-env-variables werden alle vorhandenen Umgebungsvariablen gelöscht.

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • Ersetzen Sie NAME durch den Namen der Variablen, die Sie erstellen oder aktualisieren möchten.
  • VALUE durch den Wert für die Variable.
  • Wenn Sie mehrere Variablen hinzufügen möchten, trennen Sie die Definitionen durch Kommas: NAME=VALUE,NAME=VALUE,....

Beispiel:

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

API

Erstellen Sie eine API-Anfrage environments.patch.

In dieser Anfrage:

  1. Geben Sie im Parameter updateMask config.softwareConfig.envVariables-Maske zum Ersetzen aller vorhandenen Variablen mit den angegebenen Variablen enthalten. Nicht angegebene Variablen werden gelöscht.

  2. Geben Sie im Anfragetext Variablen und ihre Werte an:

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

    Ersetzen Sie:

    • VAR_NAME durch den Namen der Umgebungsvariablen.
    • VAR_VALUE durch den Wert der Umgebungsvariablen.
    • Wenn Sie mehrere Variablen hinzufügen möchten, müssen Sie zusätzliche Einträge für Variablen hinzufügen an envVariables.

Beispiel:

// 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

Mit dem Block env_variables im Block software_config wird angegeben, Umgebungsvariablen.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    software_config {

      env_variables = {
        VAR_NAME = "VAR_VALUE"
      }

    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • VAR_NAME durch den Namen der Umgebungsvariablen.
  • VAR_VALUE durch den Wert der Umgebungsvariablen.
  • Wenn Sie mehrere Variablen verwenden möchten, müssen Sie zusätzliche Einträge für Variablen hinzufügen an env_variables.

Beispiel:

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"
      }
    }
  }
}

Nächste Schritte