Compartilhar via


Configuração de aplicativos do Databricks

Importante

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

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

O ambiente do Databricks Apps define várias variáveis de ambiente, como a URL do workspace do Azure Databricks que executa o aplicativo e os valores necessários para executar a autenticação do aplicativo. No entanto, às vezes, seus aplicativos exigirão variáveis personalizadas adicionais. Por exemplo, talvez você precise 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 do Databricks com o app.yaml arquivo

Observação

Seu arquivo de configuração do aplicativo pode usar a .yaml extensão or .yml .

Para definir a configuração personalizada do 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.

Configurações doapp.yaml
command

Digite: 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, todos os valores definidos no ambiente não são passados para seu aplicativo. Se o aplicativo exigir parâmetros adicionais para ser executado, use a env estrutura.

Esta configuração é opcional.
env

Digite: list

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

- name: o nome da variável de ambiente.
- Um dos seguintes:
- value: O valor da 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 uma tabela de banco de dados que contém o valor.

Esta configuraçã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 uma 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 de um aplicativo 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 que contém o caminho para um volume do Catálogo do Unity:

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

Fazer referência a um segredo do Databricks

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

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

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

Variáveis de ambiente dos Aplicativos do Databricks

As variáveis a seguir são definidas automaticamente no ambiente de Aplicativos do Databricks 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 Descrição
DATABRICKS_APP_NAME O nome do aplicativo em execução.
DATABRICKS_WORKSPACE_ID A ID exclusiva do workspace do Databricks ao qual o aplicativo pertence.
DATABRICKS_HOST A URL do workspace do Databricks ao qual o aplicativo pertence.
DATABRICKS_APP_PORT A porta de rede em que o aplicativo deve escutar.
DATABRICKS_CLIENT_ID A ID do cliente para a entidade de serviço do Databricks atribuída ao aplicativo.
DATABRICKS_CLIENT_SECRET O segredo do OAuth para a entidade de serviço do 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 de Aplicativos do Databricks e estão disponíveis para seus aplicativos do Databricks que usam a estrutura do Streamlit:

Variável Descrição
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 dos Aplicativos do Databricks protege contra XSRF (Falsificação de Solicitação entre Sites), isso é definido como false.
STREAMLIT_SERVER_ENABLE_CORS Como o proxy reverso dos Aplicativos do Databricks protege contra o CORS (Compartilhamento de Recursos entre Origens), isso é definido como false.
STREAMLIT_SERVER_HEADLESS Isso é definido para que o true 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.