Compartilhar via


Definir variáveis de ambiente em um aplicativo do Databricks

Azure Databricks define automaticamente determinadas variáveis de ambiente no ambiente de runtime do aplicativo. Essas variáveis fornecem informações essenciais sobre o aplicativo e o workspace e são acessíveis a todos os aplicativos do Databricks por padrão. Para obter uma lista de variáveis padrão, consulte o ambiente de Aplicativos do Databricks.

Se seu aplicativo exigir variáveis de ambiente adicionais, defina-as no arquivo de configuração app.yaml na env seção. Cada variável requer um nome e um valor. As variáveis podem usar um valor codificado ou fazer referência a uma fonte externa.

Por exemplo:

env:
  - name: LOG_LEVEL
    value: 'debug'

Somente use valores codificados de forma fixa quando eles forem estáticos, não confidenciais e consistentes nos diferentes ambientes. Exemplos incluem value: "true" alternâncias de recursos, value: "us-west" para regiões fixas ou value: "UTC" para fusos horários padrão.

Importante

Para manter seu aplicativo seguro e portátil, nunca referencie chaves secretas ou outros valores confidenciais diretamente na configuração do aplicativo. Por exemplo, evite inserir valores secretos no value campo de uma variável de ambiente ou diretamente no código-fonte. Em vez disso, use o valueFrom campo para fazer referência segura a segredos e outros recursos gerenciados definidos no bloco de recursos. Isso garante que os segredos sejam recuperados de Azure Databricks em runtime e nunca sejam expostos em texto sem formatação em seus arquivos de configuração.

Usar variáveis de ambiente para acessar recursos

Se você definir recursos de aplicativo, como SQL Warehouses ou segredos, faça referência a esses recursos na seção env do arquivo app.yaml usando o campo valueFrom. Isso conecta variáveis de ambiente em seu aplicativo às chaves de recurso definidas em resources.

Exemplo de trecho de app.yaml:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Em seguida, no código do aplicativo, acesse-os como variáveis de ambiente:

Python

import os

warehouse_id = os.getenv("WAREHOUSE_ID")
secret_value = os.getenv("SECRET_KEY")

JavaScript

const warehouseId = process.env.WAREHOUSE_ID;
const secretValue = process.env.SECRET_KEY;

valueFrom referência

A tabela a seguir mostra o valor que valueFrom resolve para cada tipo de recurso:

Tipo de recurso Valor resolvido Exemplo
Aplicativo Databricks Nome do aplicativo my-app
Espaço do gênio ID do espaço 01ef1fa2b3c45678
Banco de dados de dimensionamento automático do Lakebase Caminho do endpoint projects/my-project/branches/main/endpoints/ep123
Banco de dados provisionado do Lakebase Anfitrião postgres-host.example.com
Trabalho do Lakeflow ID do trabalho 123456789
Experimento do MLflow ID do experimento 456789012
Ponto de extremidade de serviço de modelo Nome de endpoint my-serving-endpoint
Segredo Valor do segredo descriptografado (o valor do segredo)
SQL Warehouse ID do Armazém a1b2c3d4e5f67890
Conexão do Catálogo do Unity Nome da conexão my_connection
Tabela do Unity Catalog Nome completo da tabela catalog.schema.table
Volume do Unity Catalog Caminho do volume /Volumes/catalog/schema/volume
Função definida pelo usuário Nome completo da função catalog.schema.my_function
Índice de pesquisa de vetor Nome completo do índice catalog.schema.my_index

Próximas etapas