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. |