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:
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Buka tab Environment variables dan klik Edit.
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:
Di parameter
updateMask
, tentukan Maskconfig.softwareConfig.envVariables
untuk mengganti semua yang ada variabel dengan variabel yang ditentukan. Variabel yang tidak Anda tentukan akan dihapus.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"
}
}
}
}