Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Variáveis de ambiente fornecem configuração específica de implantação para o código de aplicação em tarefas sem servidor de Trabalhos do Lakeflow. Defina entradas nomeadas de variáveis de ambiente em um trabalho e selecione uma entrada para cada tarefa que precise disso. Durante a Beta, você configura variáveis de ambiente pela API Jobs.
Importante
Esse recurso está em Beta. Para usá-lo, um administrador do espaço de trabalho deve ativar variáveis de ambiente em Jobs do Lakeflow na página Prévias. Consulte Gerenciar visualizações do Azure Databricks.
Esta página descreve variáveis de ambiente para trabalhos serverless. A computação serverless não oferece suporte a scripts de inicialização. Se sua carga de trabalho roda em computação clássica, veja Definir e usar variáveis de ambiente com scripts de init.
Como funcionam as variáveis do ambiente
As entradas das variáveis de ambiente são definidas no nível do trabalho. Cada entrada possui uma chave única, contém variáveis inline e funciona com todos os tipos de tarefas serverless. Uma chave de entrada pode conter apenas letras, números, hífens e sublinhatões. Cada nome de variável em linha deve começar com uma letra ou sublinhado e pode conter apenas letras, números e sublinhas.
Cada tarefa seleciona uma única entrada de variável de ambiente com environment_variables_key e recebe apenas as variáveis dessa entrada. As entradas nunca são combinadas, e uma entrada não pode herdar de outra. Uma tarefa que omite environment_variables_key não recebe variáveis de ambiente.
Variáveis de ambiente estão disponíveis apenas para o código da aplicação que executa no processo da tarefa. Eles não estão disponíveis para a lógica de execução do Spark.
Requirements
- Um administrador de espaço de trabalho ativou variáveis de ambiente no Lakeflow Jobs a partir da página de Prévias . Consulte Gerenciar visualizações do Azure Databricks.
- Tarefas que são executadas na versão 5 ou posterior do ambiente serverless.
Limitações
Funções definidas pelo usuário (UDFs) não conseguem ler variáveis de ambiente, porque as UDFs rodam na lógica de execução do Spark em vez do processo de tarefa.
Os seguintes limites se aplicam:
| Configuration | Limit |
|---|---|
| Entradas de variáveis de ambiente por trabalho | 10 |
| Chave de entrada | 1–100 caracteres; Deve ser compatível ^[\w-_]+$ |
| Variáveis inline para cada entrada | 100 |
| Nome da variável inline | 1–256 caracteres; Deve ser compatível ^[A-Za-z_][A-Za-z0-9_]*$ |
| Valor da variável em linha | 512 caracteres |
Configure variáveis de ambiente com a API Jobs
Use o environment_variables campo em uma POST /api/2.2/jobs/create solicitação para definir entradas de variáveis de ambiente. Defina environment_variables_key em cada tarefa que use uma entrada.
O exemplo a seguir define entradas separadas para variáveis de ambiente para uma tarefa de notebook e uma tarefa JAR. Cada tarefa seleciona sua entrada com environment_variables_key, e qualquer tipo de tarefa serverless pode usar uma entrada da mesma forma:
{
"name": "serverless-environment-variables-example",
"tasks": [
{
"task_key": "process_orders",
"notebook_task": {
"notebook_path": "/Workspace/Shared/process-orders"
},
"environment_key": "default",
"environment_variables_key": "production"
},
{
"task_key": "summarize",
"spark_jar_task": {
"main_class_name": "com.company.main"
},
"environment_key": "summary_env",
"environment_variables_key": "summary_vars"
}
],
"environments": [
{
"environment_key": "default",
"spec": {
"environment_version": "5",
"dependencies": []
}
},
{
"environment_key": "summary_env",
"spec": {
"environment_version": "5",
"java_dependencies": ["/Volumes/company/default/prod/summarize.jar"]
}
}
],
"environment_variables": [
{
"environment_variables_key": "production",
"variables": {
"APP_ENV": "production",
"REGION": "us-west-2"
}
},
{
"environment_variables_key": "summary_vars",
"variables": {
"APP_ENV": "production",
"LOG_LEVEL": "INFO",
"LOG_FILE": "service.log"
}
}
]
}
Você também pode configurar entradas de variáveis de ambiente com o Atualizar um trabalho, Sobrescrever todas as configurações de um trabalho e Enviar uma operação de execução única .
Leia variáveis de ambiente no código da aplicação
O código da aplicação lê variáveis configuradas do ambiente do processo.
Python
import os
app_environment = os.environ["APP_ENV"]
region = os.environ["REGION"]
Scala
val appEnvironment = sys.env("APP_ENV")
val region = sys.env("REGION")