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