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é que você a remova.
Por exemplo, o Cloud Composer
usa o módulo Sendgrid do Apache Airflow para
notificações por e-mail. Para configurar notificações por e-mail,
defina 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 estão reservados e não podem ser usados:
AIRFLOW_HOME
AIRFLOW_SRC_DIR
C_FORCE_ROOT
CLOUDSDK_METRICS_ENVIRONMENT
COMPOSER_ENVIRONMENT
COMPOSER_GKE_NAME
COMPOSER_GKE_ZONE
COMPOSER_LOCATION
COMPOSER_PYTHON_VERSION
CONTAINER_NAME
DAGS_FOLDER
GCP_PROJECT
GCS_BUCKET
GKE_CLUSTER_NAME
GOOGLE_APPLICATION_CREDENTIALS
KUBERNETES_PORT
KUBERNETES_PORT_443_TCP_PROTO
KUBERNETES_PORT_443_TCP_ADDR
KUBERNETES_PORT_443_TCP_PORT
KUBERNETES_PORT_443_TCP
KUBERNETES_SERVICE_HOST
KUBERNETES_SERVICE_PORT
KUBERNETES_SERVICE_PORT_HTTPS
MAJOR_VERSION
MINOR_VERSION
PROJECT_ID
SQL_DATABASE
SQL_INSTANCE
SQL_HOST
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, faça o seguinte:
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 será 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 Value, especifique o valor da variável.
- Para incluir uma variável extra, clique em Adicionar variável de ambiente.
- Para excluir uma variável, mantenha o ponteiro sobre ela 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 existentes.
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áscara:- Use a máscara
config.softwareConfig.envVariables
para substituir todas as variáveis atuais pelas especificadas. As variáveis que você não especificar serão excluídas. - Use
config.softwareConfig.envVariables.VAR_NAME
para adicionar ou atualizar uma variável específica. Para adicionar ou atualizar diversas variáveis, especifique várias máscaras com vírgulas.
- Use a máscara
No corpo da solicitação, especifique as variáveis e os respectivos valores:
{ "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
a
envVariables
.
Exemplo:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.envVariables.EXAMPLE_VARIABLE,
// config.softwareConfig.envVariables.ANOTHER_VARIABLE
{
"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" {
provider = google-beta
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
a
env_variables
.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
env_variables = {
EXAMPLE_VARIABLE = "True"
ANOTHER_VARIABLE = "test"
}
}
}