Partilhar via


Configuração de aplicativos Databricks

Importante

O Databricks Apps está em Visualização Pública.

Este artigo detalha as configurações configuradas automaticamente no ambiente Databricks Apps e explica como definir a configuração personalizada necessária para seus aplicativos.

O ambiente Databricks Apps define várias variáveis de ambiente, como a URL do espaço de trabalho do Azure Databricks que executa o aplicativo e os valores necessários para executar a autenticação para seu aplicativo. No entanto, às vezes, seus aplicativos exigirão variáveis personalizadas adicionais. Por exemplo, você pode precisar de um comando personalizado para executar seu aplicativo ou parâmetros para se conectar a um SQL warehouse. Para esses parâmetros de configuração personalizados, use o app.yaml arquivo.

Configurando seus aplicativos Databricks com o app.yaml arquivo

Nota

O arquivo de configuração do aplicativo pode usar a .yaml extensão ou .yml .

Para definir a configuração personalizada para seu aplicativo, adicione um app.yaml arquivo ao seu projeto. A tabela a seguir mostra as configurações que você pode definir no app.yaml arquivo, seguidas por arquivos de configuração de exemplo.

Definições doapp.yaml
command

Tipo: sequence

Um conjunto opcional de argumentos para executar seu aplicativo. Use essa configuração quando precisar de um comando personalizado para executar seu aplicativo. Os valores padrão são [python, app.py].

O comando não é executado em um shell, portanto, os valores definidos no ambiente não são passados para seu aplicativo. Se o seu aplicativo precisar de parâmetros adicionais para ser executado, use a env estrutura.

Esta definição é opcional.
env

Tipo: list

A chave de nível superior para uma lista opcional de pares chave-valor que definem variáveis de ambiente a serem passadas para seu aplicativo. O value pode ser um valor de parâmetro real ou uma referência ao local onde o valor está armazenado. Os itens válidos na lista são:

- name: O nome da variável de ambiente.
- Um dos seguintes:
- value: O valor para a variável de ambiente.
- valueFrom: Para um valor definido externamente, o nome da fonte que contém o valor. Por exemplo, o nome de um segredo ou de uma tabela de banco de dados que contém o valor.

Esta definição é opcional.

Exemplo app.yaml de um aplicativo Streamlit

O arquivo de configuração de exemplo app.yaml a seguir executa um aplicativo Streamlit, passando um ID do SQL warehouse e um valor para o STREAMLIT_GATHER_USAGE_STATS parâmetro:

command: [
  "streamlit",
  "run",
  "app.py"
]
env:
  - name: "DATABRICKS_WAREHOUSE_ID"
    value: "quoz2bvjy8bl7skl"
  - name: "STREAMLIT_GATHER_USAGE_STATS"
    value: "false"

Exemplo app.yaml para uma aplicação Flask

O arquivo de configuração de exemplo app.yaml a seguir executa um aplicativo Flask com o servidor Gunicorn e define uma variável de ambiente contendo o caminho para um volume do Catálogo Unity:

command:
  - gunicorn
  - app:app
  - -w
  - 4
env:
  - name: "VOLUME_URI"
    value: "/Volumes/catalog-name/schema-name/dir-name"

Referenciar um segredo Databricks

Para fazer referência a um segredo configurado como uma dependência de recursos para seu aplicativo, defina valueFrom: <dependency_name> na env seção de sua app.yaml configuração. Substitua dependency_name pelo valor da chave de recurso da configuração do recurso secreto. Para saber mais sobre as dependências de recursos dos Aplicativos Databricks, consulte Como integrar meu aplicativo Databricks aos serviços do Azure Databricks?. Para saber mais sobre como gerenciar segredos do Databricks, consulte Gerenciar segredos.

O exemplo app.yaml a seguir faz referência a um segredo configurado como uma dependência de recurso:

command: [
  "python",
  "app.py"
]
env:
  - name: "SECRET_KEY"
    valueFrom: "secret-name"

Variáveis de ambiente do Databricks Apps

As variáveis a seguir são definidas automaticamente no ambiente Databricks Apps e estão disponíveis para todos os aplicativos. Se você precisar definir variáveis de ambiente adicionais, adicione-as ao arquivo app.yaml.

Variável Description
DATABRICKS_APP_NAME O nome do aplicativo em execução.
DATABRICKS_WORKSPACE_ID A ID exclusiva do espaço de trabalho Databricks ao qual o aplicativo pertence.
DATABRICKS_HOST A URL do espaço de trabalho Databricks ao qual o aplicativo pertence.
DATABRICKS_APP_PORT A porta de rede na qual o aplicativo deve escutar.
DATABRICKS_CLIENT_ID A ID do cliente para a entidade de serviço Databricks atribuída ao aplicativo.
DATABRICKS_CLIENT_SECRET O segredo OAuth para a entidade de serviço Databricks atribuída ao aplicativo.

Variáveis de ambiente padrão para Streamlit

As seguintes variáveis específicas do Streamlit são configuradas automaticamente no ambiente Databricks Apps e estão disponíveis para seus aplicativos Databricks que usam a estrutura Streamlit:

Variável Description
STREAMLIT_SERVER_ADDRESS O endereço do servidor para uso pelo Streamlit. Esse valor é definido como 0.0.0.0 e não deve ser substituído.
STREAMLIT_SERVER_PORT A porta para uso pelo Streamlit. Esse valor é definido como DATABRICKS_APP_PORT e não deve ser substituído.
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION Como o proxy reverso do Databricks Apps protege contra XSRF (Cross-Site Request Forgery), isso é definido como false.
STREAMLIT_SERVER_ENABLE_CORS Como o proxy reverso do Databricks Apps protege contra CORS (Cross-Origin Resource Sharing), isso é definido como false.
STREAMLIT_SERVER_HEADLESS Isso é definido para true que o Streamlit seja executado sem abrir uma janela do navegador ao iniciar.
STREAMLIT_BROWSER_GATHER_USAGE_STATS Isso é definido para false evitar o envio de estatísticas do usuário para o Streamlit.