Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As variáveis de ambiente fornecem uma configuração específica de implementação para o código da aplicação em tarefas serverless Lakeflow Jobs. Defina entradas nomeadas de variáveis de ambiente num trabalho e depois selecione uma entrada para cada tarefa que precise disso. Durante a Beta, configuras variáveis de ambiente através da API de Jobs.
Important
Este recurso está em versão Beta. Para o utilizar, um administrador da área de trabalho tem de ativar Variáveis de ambiente no Lakeflow Jobs na página Pré-visualizações. Ver Gerir as pré-visualizações de Azure Databricks.
Esta página descreve variáveis de ambiente para trabalhos serverless. A computação sem servidor não é compatível com scripts de inicialização. Se a tua carga de trabalho for executada em computação clássica, consulte Definir e utilizar variáveis de ambiente com scripts de inicialização.
Como funcionam as variáveis do ambiente
As entradas das variáveis de ambiente são definidas ao nível do trabalho. Cada entrada tem 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 sublinhados. O nome de cada variável em linha deve começar por uma letra ou por um sublinhado e só pode conter letras, números e sublinhados.
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.
As variáveis de ambiente estão disponíveis apenas para o código de aplicação que seja executado no processo da tarefa. Não estão disponíveis para a lógica de execução do Spark.
Requirements
- Um administrador da área de trabalho ativou variáveis de ambiente nos Trabalhos do Lakeflow na página Pré-visualizações. Ver Gerir as pré-visualizações de Azure Databricks.
- Tarefas que são executadas no ambiente serverless, versão 5 ou posterior.
Limitações
As funções definidas pelo utilizador (UDFs) não conseguem ler variáveis de ambiente, porque as UDFs correm na lógica de execução do Spark em vez do processo da tarefa.
Aplicam-se os seguintes limites:
| Configuration | Limit |
|---|---|
| Entradas de variáveis de ambiente por trabalho | 10 |
| Chave de entrada | 1–100 caracteres; Tem de corresponder ^[\w-_]+$ |
| Variáveis em linha por entrada | 100 |
| Nome da variável em linha | 1–256 caracteres; Tem de corresponder ^[A-Za-z_][A-Za-z0-9_]*$ |
| Valor da variável em linha | 512 caracteres |
Configurar variáveis de ambiente com a API Jobs
Use o environment_variables campo num POST /api/2.2/jobs/create pedido para definir entradas de variáveis de ambiente. Defina environment_variables_key em cada tarefa que usa uma entrada.
O exemplo seguinte define entradas separadas para variáveis de ambiente para uma tarefa de caderno e uma tarefa JAR. Cada tarefa seleciona a 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"
}
}
]
}
Também pode configurar entradas de variáveis de ambiente com a opção Atualizar um trabalho, Sobrescrever todas as definições de um trabalho e Submeter operações 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 de 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")