Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Halaman ini menjelaskan cara menyetel variabel lingkungan di lingkungan Cloud Composer Anda.
Anda dapat menggunakan variabel lingkungan sebagai alternatif untuk variabel Airflow saat memberikan konfigurasi runtime untuk DAG Anda. Variabel Airflow ditetapkan di database Airflow, sedangkan variabel lingkungan ditetapkan di container pekerja Airflow.
Sebagai contoh, Anda dapat menggunakan nama variabel lingkungan apa adanya dalam perintah
yang dijalankan oleh BashOperator, atau mendapatkan nilai ini dari objek os.environ
di DAG, atau menggunakan variabel Airflow.
Variabel lingkungan bersifat persisten. Setelah Anda menentukan variabel lingkungan, Airflow akan terus menggunakannya hingga Anda menghapus variabel dari lingkungan Anda.
Cloud Composer menetapkan variabel lingkungan yang dicadangkan sendiri untuk mengontrol lingkungan.
Format nama
Variabel lingkungan harus cocok dengan ekspresi reguler
[a-zA-Z_][a-zA-Z0-9_]*.
Opsi konfigurasi Airflow
Anda tidak dapat menentukan variabel yang mengubah opsi konfigurasi Apache Airflow.
Variabel tidak dapat menggunakan format AIRFLOW__{SECTION}__{KEY} atau cocok dengan
ekspresi reguler AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+. Misalnya, AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW tidak dapat disetel.
Sebagai gantinya, Anda dapat mengganti opsi konfigurasi Airflow.
Variabel yang dicadangkan
Nama variabel berikut dicadangkan oleh Cloud Composer. Variabel dengan nama ini tidak dapat dibuat.
AIRFLOW_DATABASE_VERSIONAIRFLOW_HOMEAIRFLOW_SRC_DIRAIRFLOW_WEBSERVERAUTO_GKECLOUDSDK_METRICS_ENVIRONMENTCLOUD_LOGGING_ONLYCOMPOSER_AGENT_BUILD_SERVICE_ACCOUNTCOMPOSER_ENVIRONMENTCOMPOSER_GKE_LOCATIONCOMPOSER_GKE_NAMECOMPOSER_GKE_ZONECOMPOSER_LOCATIONCOMPOSER_OPERATION_UUIDCOMPOSER_PYTHON_VERSIONCOMPOSER_VERSIONCONTAINER_NAMEC_FORCE_ROOTDAGS_FOLDERGCE_METADATA_TIMEOUTGCP_PROJECTGCP_TENANT_PROJECTGCSFUSE_EXTRACTEDGCS_BUCKETGKE_CLUSTER_NAMEGKE_IN_TENANTGOOGLE_APPLICATION_CREDENTIALSMAJOR_VERSIONMINOR_VERSIONPATHPIP_DISABLE_PIP_VERSION_CHECKPORTPROJECT_IDPYTHONPYCACHEPREFIXPYTHONWARNINGSREDIS_PASSWORDREDIS_PORTREDIS_USERSQL_DATABASESQL_HOSTSQL_INSTANCESQL_PASSWORDSQL_PROJECTSQL_REGIONSQL_USER
Menetapkan variabel lingkungan untuk lingkungan baru
Anda dapat menentukan variabel lingkungan saat membuat lingkungan. Untuk mengetahui informasi selengkapnya, lihat Membuat lingkungan.
Menetapkan variabel lingkungan untuk lingkungan yang ada
Konsol
Untuk menetapkan variabel lingkungan untuk lingkungan yang ada:
Di Google Cloud console, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment variables, lalu 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, tahan kursor di atas variabel, lalu klik Hapus item.
gcloud
Argumen berikut mengontrol variabel lingkungan:
--update-env-variablesmenentukan daftar variabel lingkungan yang dipisahkan koma untuk dibuat atau diperbarui.--remove-env-variablesmenentukan daftar variabel lingkungan yang dipisahkan koma yang akan dihapus.--clear-env-variablesmenghapus semua variabel lingkungan yang ada.
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--update-env-variables=NAME=VALUE
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.NAMEdengan nama variabel yang ingin Anda buat atau perbarui.VALUEdengan 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 API environments.patch.
Dalam permintaan ini:
Dalam parameter
updateMask, tentukan maskconfig.softwareConfig.envVariablesuntuk mengganti semua variabel yang ada 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_NAMEdengan nama variabel lingkungan.VAR_VALUEdengan nilai variabel lingkungan.- Untuk menambahkan lebih dari satu variabel, tambahkan entri tambahan untuk variabel
ke
envVariables.
Contoh:
// PATCH https://composer.googleapis.com/v1/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 di 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_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.VAR_NAMEdengan nama variabel lingkungan.VAR_VALUEdengan nilai variabel lingkungan.- Untuk menambahkan lebih dari satu variabel, tambahkan entri tambahan 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"
}
}
}
}