Configuração dos aplicativos Databricks

Prévia

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 diversas variáveis de ambiente, como o URL do Databricks workspace que executa o aplicativo e os valores necessários para realizar a autenticação do seu aplicativo. No entanto, às vezes, seus aplicativos exigem variáveis personalizadas adicionais. Por exemplo, o senhor pode precisar de um comando personalizado para executar seu aplicativo ou de parâmetros para se conectar a um site SQL warehouse. Para esses parâmetros de configuração personalizados, use o arquivo app.yaml.

Configurando seus aplicativos Databricks com o arquivo app.yaml

Observação

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

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

app.yaml Configurações

command

Tipo: sequence

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

O comando não é executado em um shell, portanto, quaisquer valores definidos no ambiente não são transmitidos ao seu aplicativo. Se seu aplicativo exigir parâmetros adicionais para execução, use a estrutura env.

Essa configuração é opcional.

env

Tipo: list

O key de nível superior para uma lista opcional de par key-value que define a variável de ambiente a ser passada para o 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 de:

    • 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 de uma tabela de banco de dados contendo o valor.

Essa configuração é opcional.

Exemplo app.yaml para um aplicativo Streamlit

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

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

Exemplo app.yaml para um aplicativo Flask

O arquivo de configuração app.yaml do exemplo 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 Unity Catalog:

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

Referência a um segredo do Databricks

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

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

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

Databricks Apps variáveis de ambiente

As variáveis a seguir são definidas automaticamente no ambiente do Databricks Apps e estão disponíveis para todos os aplicativos. Se o senhor 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

O ID exclusivo do site Databricks workspace ao qual o aplicativo pertence.

DATABRICKS_HOST

O URL do site Databricks workspace ao qual o aplicativo pertence.

DATABRICKS_APP_PORT

A porta de rede na qual o aplicativo deve escutar.

DATABRICKS_CLIENT_ID

O ID do cliente para a entidade de serviço Databricks atribuída ao aplicativo.

DATABRICKS_CLIENT_SECRET

O segredo do OAuth para a entidade de serviço Databricks atribuída ao aplicativo.

default variável de ambiente para Streamlit

As seguintes variáveis específicas do Streamlit são configuradas automaticamente no ambiente do Databricks Apps e estão disponíveis para os 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 está 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 recurso compartilhamento), isso é definido como false.

STREAMLIT_SERVER_HEADLESS

Isso é definido como true para que o Streamlit execute sem abrir uma janela do navegador ao iniciar.

STREAMLIT_BROWSER_GATHER_USAGE_STATS

Isso é definido como false para evitar o envio de estatísticas do usuário para o Streamlit.