Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך להגדיר משתני סביבה בסביבת Managed Airflow.
אתם יכולים להשתמש במשתני סביבה כחלופה למשתני Airflow כשאתם מספקים הגדרות של זמן ריצה ל-DAG. משתני Airflow מוגדרים במסד הנתונים של Airflow, ואילו משתני סביבה מוגדרים בקונטיינר של העובד ב-Airflow.
לדוגמה, אפשר להשתמש בשם של משתנה סביבה כמו שהוא בפקודה שמופעלת על ידי BashOperator, או לקבל את הערך הזה מהאובייקט os.environ ב-DAG, או להשתמש במשתנה Airflow במקום זאת.
משתני הסביבה נשמרים. אחרי שמציינים משתנה סביבה, Airflow ממשיך להשתמש בו עד שמסירים את המשתנה מהסביבה.
ב-Managed Service for Apache Airflow מוגדרים משתני סביבה שמורים משלו לשליטה בסביבות.
פורמט השם
משתני הסביבה צריכים להתאים לביטוי הרגולרי
[a-zA-Z_][a-zA-Z0-9_]*.
אפשרויות הגדרה של Airflow
אי אפשר לציין משתנים שמשנים את אפשרויות ההגדרה של Apache Airflow.
המשתנים לא יכולים להיות בפורמט AIRFLOW__{SECTION}__{KEY} או להתאים לביטוי הרגולרי AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+. לדוגמה, אי אפשר להגדיר את AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW.
במקום זאת, אפשר לשנות את אפשרויות ההגדרה של Airflow.
משתנים שמורים
שמות המשתנים הבאים שמורים על ידי Managed Airflow. אי אפשר ליצור משתנים עם השמות האלה.
AIRFLOW_DATABASE_VERSIONAIRFLOW_HOMEAIRFLOW_SRC_DIRAIRFLOW_WEBSERVERAUTO_GKECLOUDSDK_METRICS_ENVIRONMENTCLOUD_LOGGING_ONLYCOMPOSER_AGENT_BUILD_SERVICE_ACCOUNTCOMPOSER_ENVIRONMENTCOMPOSER_ENVIRONMENT_SIZECOMPOSER_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
הגדרה של משתני סביבה לסביבות חדשות
אתם יכולים לציין משתני סביבה כשאתם יוצרים סביבה. מידע נוסף זמין במאמר יצירת סביבות.
הגדרת משתני סביבה לסביבות קיימות
המסוף
כדי להגדיר משתני סביבה בסביבה קיימת:
במסוף Google Cloud , עוברים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment variables ולוחצים על Edit.
מוסיפים, משנים או מוחקים משתני סביבה בסביבה:
- בשדה Name (שם), מציינים את שם המשתנה.
- בשדה ערך, מציינים את ערך המשתנה.
- כדי להוסיף עוד משתנה, לוחצים על הוספת משתנה סביבתי.
- כדי למחוק משתנה, מעבירים את העכבר מעל משתנה ולוחצים על מחיקת פריט.
gcloud
הארגומנטים הבאים שולטים במשתני הסביבה:
--update-env-variablesמציין רשימה של משתני סביבה שמופרדים בפסיקים, שצריך ליצור או לעדכן.
--remove-env-variablesמציינת רשימה מופרדת בפסיקים של משתני סביבה למחיקה.
--clear-env-variablesמוחק את כל משתני הסביבה הקיימים.
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--update-env-variables=NAME=VALUE
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת. -
NAMEבשם המשתנה שרוצים ליצור או לעדכן. VALUEבערך של המשתנה.- כדי להוסיף יותר ממשתנה אחד, מפרידים בין ההגדרות באמצעות פסיקים:
NAME=VALUE,NAME=VALUE,....
דוגמה:
gcloud composer environments update \
example-environment \
--location us-central1 \
--update-env-variables=EXAMPLE_VARIABLE=True,ANOTHER_VARIABLE=test
API
יוצרים בקשת API של environments.patch.
בבקשה הזו:
בפרמטר
updateMask, מציינים את המסכהconfig.softwareConfig.envVariablesכדי להחליף את כל המשתנים הקיימים במשתנים שצוינו. משתנים שלא מציינים נמחקים.בגוף הבקשה, מציינים את המשתנים והערכים שלהם:
{ "config": { "softwareConfig": { "envVariables": { "VAR_NAME": "VAR_VALUE" } } } }מחליפים את:
-
VAR_NAMEבשם של משתנה הסביבה. VAR_VALUEבערך של משתנה הסביבה.- כדי להוסיף יותר ממשתנה אחד, מוסיפים עוד רשומות של משתנים ל-
envVariables.
-
דוגמה:
// 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
הבלוק env_variables בבלוק software_config מציין משתני סביבה.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
env_variables = {
VAR_NAME = "VAR_VALUE"
}
}
}
}
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת. -
VAR_NAMEבשם של משתנה הסביבה. VAR_VALUEבערך של משתנה הסביבה.- כדי להוסיף יותר ממשתנה אחד, מוסיפים עוד רשומות של משתנים ל-
env_variables.
דוגמה:
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"
}
}
}
}