Cloud Composer 1 | Cloud Composer 2
Nesta página, explicamos como definir variáveis de ambiente no seu ambiente do Cloud Composer.
O Cloud Composer usa as variáveis de ambiente para alterar o comportamento do ambiente de execução do Airflow ou dos DAGs.
As variáveis de ambiente são persistentes. Depois que você especifica uma variável de ambiente, o Airflow continua a usá-la até você removê-la do ambiente.
Por exemplo, o Cloud Composer usa o módulo Sendgrid (em inglês) do Apache Airflow nas notificações por e-mail. Para configurar notificações por e-mail, você precisa definir as variáveis de ambiente SENDGRID_API_KEY
e SENDGRID_MAIL_FROM
.
Formato de nome
As variáveis de ambiente precisam corresponder à expressão regular [a-zA-Z_][a-zA-Z0-9_]*
.
Não especifique substituições de configuração do Apache Airflow nas variáveis de ambiente. Isso significa que as variáveis não podem usar o formato AIRFLOW__{SECTION}__{KEY}
ou corresponder à expressão regular AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+
.
Variáveis reservadas
Os nomes a seguir são reservados e não podem ser usados:
- AIRFLOW_DATABASE_VERSION
- AIRFLOW_HOME
- AIRFLOW_SRC_DIR
- AIRFLOW_WEBSERVER
- AUTO_GKE
- C_FORCE_ROOT
- CLOUDSDK_METRICS_ENVIRONMENT
- COMPOSER_ENVIRONMENT
- COMPOSER_GKE_LOCATION
- COMPOSER_GKE_NAME
- COMPOSER_GKE_ZONE
- COMPOSER_LOCATION
- COMPOSER_OPERATION_UUID
- COMPOSER_PYTHON_VERSION
- COMPOSER_VERSION
- }-- COMPOSER_VERSION
CONTAINER_NAME
DAGS_FOLDER
GCP_PROJECT
GCP_TENANT_PROJECT
GCS_BUCKET
GCSFUSE_EXTRACTED
GKE_CLUSTER_NAME
GOOGLE_APPLICATION_CREDENTIALS
MAJOR_VERSION
MINOR_VERSION
PATH
PORT
PROJECT_ID
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONPYCACHEPREFIX
SQL_DATABASE
SQL_HOST
SQL_INSTANCE
SQL_PASSWORD
SQL_PROJECT
SQL_REGION
SQL_USER
Definir variáveis de ambiente para novos ambientes
É possível especificar variáveis de ambiente ao criar um ambiente. Para mais informações, consulte Criar ambientes.
Definir variáveis de ambiente para ambientes atuais
Console
Para definir variáveis de ambiente para um ambiente existente:
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Variáveis de ambiente e clique em Editar.
Adicione, altere ou exclua variáveis de ambiente:
- No campo Nome, especifique o nome da variável.
- No campo Valor, especifique o valor da variável.
- Para adicionar uma variável extra, clique em Adicionar variável de ambiente.
- Para excluir uma variável, mantenha o ponteiro sobre uma variável e clique em Excluir item.
gcloud
Os argumentos a seguir controlam as variáveis de ambiente:
--update-env-variables
especifica uma lista separada por vírgulas de variáveis de ambiente a serem criadas ou atualizadas.--remove-env-variables
especifica uma lista separada por vírgulas de variáveis de ambiente a serem excluídas.--clear-env-variables
exclui todas as variáveis de ambiente atuais.
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--update-env-variables=NAME=VALUE
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;NAME
pelo nome da variável que você quer criar ou atualizar.VALUE
pelo valor da variável.- Para adicionar mais de uma variável, separe-as com vírgulas:
NAME=VALUE,NAME=VALUE,...
.
Exemplo:
gcloud composer environments update \
example-environment \
--location us-central1 \
--update-env-variables=EXAMPLE_VARIABLE=True,ANOTHER_VARIABLE=test
API
Crie uma solicitação de API environments.patch
.
Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.envVariables
para substituir todas as variáveis atuais pelas variáveis especificadas. As variáveis não especificadas são excluídas.No corpo da solicitação, especifique as variáveis e os valores delas:
{ "config": { "softwareConfig": { "envVariables": { "VAR_NAME": "VAR_VALUE" } } } }
Substitua:
VAR_NAME
pelo nome da variável de ambiente;VAR_VALUE
pelo valor da variável de ambiente.- Para adicionar mais de uma variável, inclua entradas extras para variáveis em
envVariables
.
Exemplo:
// 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
O bloco env_variables
no bloco software_config
especifica variáveis de ambiente.
resource "google_composer_environment" "example" {
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
env_variables = {
VAR_NAME = "VAR_VALUE"
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;VAR_NAME
pelo nome da variável de ambiente;VAR_VALUE
pelo valor da variável de ambiente.- Para adicionar mais de uma variável, inclua entradas extras para variáveis em
env_variables
.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
software_config {
env_variables = {
EXAMPLE_VARIABLE = "True"
ANOTHER_VARIABLE = "test"
}
}
}
}