Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se explica cómo configurar variables de entorno en tu entorno de Cloud Composer.
Cloud Composer usa las variables de entorno para alterar el comportamiento del entorno de ejecución de Airflow o tus DAGs.
Las variables de entorno son persistentes. Una vez que especifiques una variable de entorno, Airflow la seguirá usando hasta que la quites de tu entorno.
Por ejemplo, Cloud Composer usa el módulo Sendgrid de Apache Airflow para las notificaciones por correo electrónico. Para configurar las notificaciones por correo electrónico, sigue estos pasos:
debes configurar los entornos SENDGRID_API_KEY
y SENDGRID_MAIL_FROM
variables.
Formato de nombre
Las variables de entorno deben coincidir con la expresión regular [a-zA-Z_][a-zA-Z0-9_]*
.
Opciones de configuración de Airflow
No es posible especificar variables que cambien Apache Airflow opciones de configuración.
Las variables no pueden usar el formato AIRFLOW__{SECTION}__{KEY}
ni hacer coincidir la expresión regular AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+
. Por ejemplo, no es posible configurar AIRFLOW__WEBSERVER__DAG_DEFAULT_VIEW
.
En su lugar, puedes anular las opciones de configuración de Airflow.
Variables reservadas
Cloud Composer reserva los siguientes nombres de variables. No es posible crear variables con estos nombres.
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
Establece variables de entorno para entornos nuevos
Puedes especificar variables de entorno cuando creas un entorno. Para obtener más información, consulta Crea entornos.
Configura variables de entorno para entornos existentes
Console
Para establecer variables de entorno para un entorno existente, sigue estos pasos:
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Variables de entorno y haz clic en Editar.
Agrega, cambia o borra variables de entorno para tu entorno:
- En el campo Nombre, especifica el nombre de la variable.
- En el campo Valor, especifica el valor de la variable.
- Para agregar una variable adicional, haz clic en Agregar variable de entorno.
- Para borrar una variable, mantén el puntero sobre ella y, luego, haz clic en Borrar elemento.
gcloud
Los siguientes argumentos controlan las variables de entorno:
--update-env-variables
especifica una lista separada por comas de variables de entorno que se crearán o actualizarán.--remove-env-variables
especifica una lista separada por comas de las variables de entorno que se borrarán.--clear-env-variables
borra todas las variables de entorno existentes.
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--update-env-variables=NAME=VALUE
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.NAME
por el nombre de la variable que deseas crear o actualizar.VALUE
con el valor de la variable- Para agregar más de una variable, separa las definiciones con comas:
NAME=VALUE,NAME=VALUE,...
Ejemplo:
gcloud composer environments update \
example-environment \
--location us-central1 \
--update-env-variables=EXAMPLE_VARIABLE=True,ANOTHER_VARIABLE=test
API
Realiza una solicitud a la API de environments.patch
.
En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la Máscara deconfig.softwareConfig.envVariables
para reemplazar todas las existentes variables con las variables especificadas. Se borran las variables que no especifiques.En el cuerpo de la solicitud, especifica las variables y sus valores:
{ "config": { "softwareConfig": { "envVariables": { "VAR_NAME": "VAR_VALUE" } } } }
Reemplaza lo siguiente:
VAR_NAME
por el nombre de la variable de entorno.VAR_VALUE
por el valor de la variable de entorno.- Para agregar más de una variable, agrega entradas adicionales para variables
a
envVariables
.
Ejemplo:
// 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
El bloque env_variables
en el bloque software_config
especifica variables de entorno.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
env_variables = {
VAR_NAME = "VAR_VALUE"
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno.VAR_NAME
por el nombre de la variable de entorno.VAR_VALUE
por el valor de la variable de entorno.- Para agregar más de una variable, agrega entradas adicionales para variables
a
env_variables
.
Ejemplo:
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"
}
}
}
}