Menetapkan variabel lingkungan

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara menetapkan variabel lingkungan dalam lingkungan Cloud Composer.

Cloud Composer menggunakan variabel lingkungan untuk mengubah runtime perilaku Airflow atau DAG Anda.

Variabel lingkungan bersifat persisten. Setelah Anda menentukan variabel lingkungan, Airflow akan terus menggunakannya hingga Anda menghapus variabel dari lingkungan.

Misalnya, Cloud Composer menggunakan modul Sendgrid Apache Airflow untuk notifikasi email. Untuk mengonfigurasi notifikasi email, Anda harus menyetel lingkungan SENDGRID_API_KEY dan SENDGRID_MAIL_FROM variabel.

Format nama

Variabel lingkungan harus cocok dengan ekspresi reguler [a-zA-Z_][a-zA-Z0-9_]*.

Opsi konfigurasi Airflow

Tidak mungkin menentukan variabel yang mengubah Apache Airflow opsi konfigurasi.

Variabel tidak dapat menggunakan format AIRFLOW__{SECTION}__{KEY} atau cocok dengan ekspresi reguler AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+. Misalnya, mungkin untuk menyetel AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW.

Sebagai gantinya, Anda dapat mengganti opsi konfigurasi Airflow.

Variabel yang dicadangkan

Nama variabel berikut dicadangkan oleh Cloud Composer. Penting tidak mungkin membuat variabel dengan nama-nama ini.

  • 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

Menetapkan variabel lingkungan untuk lingkungan baru

Anda dapat menentukan variabel lingkungan saat membuat lingkungan. Untuk selengkapnya informasi, lihat Membuat lingkungan.

Menetapkan variabel lingkungan untuk lingkungan yang ada

Konsol

Untuk menetapkan variabel lingkungan bagi lingkungan yang ada:

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment variables dan klik Edit.

  4. Tambahkan, ubah, atau hapus variabel lingkungan untuk lingkungan Anda:

    • Di kolom Name, tentukan nama variabel.
    • Di kolom Value, tentukan nilai variabel.
    • Untuk menambahkan variabel tambahan, klik Tambahkan variabel lingkungan.
    • Untuk menghapus variabel, arahkan kursor ke variabel, lalu klik Menghapus item.

gcloud

Argumen berikut mengontrol variabel lingkungan kontrol:

  • --update-env-variables menentukan daftar lingkungan yang dipisahkan koma variabel untuk dibuat atau diperbarui.

  • --remove-env-variables menentukan daftar lingkungan yang dipisahkan koma variabel yang akan dihapus.

  • --clear-env-variables menghapus semua variabel lingkungan yang ada.

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • NAME dengan nama variabel yang ingin Anda buat atau perbarui.
  • VALUE dengan nilai untuk variabel.
  • Untuk menambahkan lebih dari satu variabel, pisahkan definisi dengan koma: NAME=VALUE,NAME=VALUE,....

Contoh:

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

API

Buat permintaan environments.patch API.

Dalam permintaan ini:

  1. Di parameter updateMask, tentukan Mask config.softwareConfig.envVariables untuk mengganti semua yang ada variabel dengan variabel yang ditentukan. Variabel yang tidak Anda tentukan akan dihapus.

  2. Dalam isi permintaan, tentukan variabel dan nilainya:

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

    Ganti:

    • VAR_NAME dengan nama variabel lingkungan.
    • VAR_VALUE dengan nilai variabel lingkungan.
    • Untuk menambahkan lebih dari satu variabel, tambahkan entri ekstra untuk variabel ke envVariables.

Contoh:

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

Blok env_variables dalam blok software_config menentukan variabel lingkungan.

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

  config {

    software_config {

      env_variables = {
        VAR_NAME = "VAR_VALUE"
      }

    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • VAR_NAME dengan nama variabel lingkungan.
  • VAR_VALUE dengan nilai variabel lingkungan.
  • Untuk menambahkan lebih dari satu variabel, tambahkan entri ekstra untuk variabel ke env_variables.

Contoh:

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

Langkah selanjutnya