Pular para o conteúdo principal

Configuração dos aplicativos Databricks

info

Visualização

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

nota

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 transmitida ao 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: - 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:

YAML
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:

YAML
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 Gerenciar segredos.

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

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

Databricks Apps variáveis de ambiente

As seguintes variáveis 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ávelDescrição
DATABRICKS_APP_NAMEO nome do aplicativo em execução.
DATABRICKS_WORKSPACE_IDO ID exclusivo do site Databricks workspace ao qual o aplicativo pertence.
DATABRICKS_HOSTO URL do site Databricks workspace ao qual o aplicativo pertence.
DATABRICKS_APP_PORTA porta de rede na qual o aplicativo deve escutar.
DATABRICKS_CLIENT_IDO ID do cliente para a entidade de serviço Databricks atribuída ao aplicativo.
DATABRICKS_CLIENT_SECRETO 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ávelDescrição
STREAMLIT_SERVER_ADDRESSO 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_PORTA porta para uso pelo Streamlit. Esse valor é definido como DATABRICKS_APP_PORT e não deve ser substituído.
STREAMLIT_SERVER_ENABLE_XSRF_PROTECTIONComo o proxy reverso do Databricks Apps protege contra XSRF (Cross-Site Request Forgery), isso é definido como false.
STREAMLIT_SERVER_ENABLE_CORSComo o proxy reverso do Databricks Apps protege contra CORS (Cross-Origin recurso compartilhamento), isso é definido como false.
STREAMLIT_SERVER_HEADLESSIsso é definido como true para que o Streamlit execute sem abrir uma janela do navegador ao iniciar.
STREAMLIT_BROWSER_GATHER_USAGE_STATSIsso é definido como false para evitar o envio de estatísticas do usuário para o Streamlit.