Pular para o conteúdo principal

Configure a execução do aplicativo Databricks com app.yaml

O arquivo app.yaml em um aplicativo Databricks define como seu aplicativo é executado. Se o seu aplicativo exigir um ponto de entrada diferente ou uma configuração específica do ambiente, o senhor poderá incluir esse arquivo opcional no seu projeto para substituir o comportamento do default.

Você pode usar a extensão de arquivo .yaml ou .yml. Esse arquivo deve estar localizado na raiz do diretório do seu projeto.

Configurações suportadas

O arquivo app.yaml suporta as seguintes configurações.

Contexto

Tipo

Descrição

command

sequence

Use essa configuração quando o senhor precisar de um comando personalizado para executar seu aplicativo. Por default, Databricks execução Python aplicativos usando o comando python <my-app.py>, em que <my-app.py> é o primeiro arquivo .py na estrutura de arquivos do seu aplicativo. Se o seu aplicativo incluir Node.js, o comando default será npm run start. Consulte Lógica de implantação.

Como o Databricks não executa o comando em um shell, ele não passa variáveis de ambiente definidas fora da configuração do aplicativo para o seu aplicativo. Se seu aplicativo exigir parâmetros adicionais para execução, use a estrutura env.

Essa configuração é opcional.

env

list

Databricks define automaticamente várias default variáveis de ambiente no ambiente de tempo de execução do aplicativo. Esse site de nível superior key define uma lista opcional de variáveis de ambiente adicionais a serem transmitidas ao seu aplicativo. Cada variável pode usar um valor codificado ou fazer referência a uma fonte externa, como uma entrada secreta ou de banco de dados.

Os itens válidos na lista são:

  • name: O nome da variável de ambiente.
  • Um de:

Essa configuração é opcional.

Exemplo app.yaml para um aplicativo Streamlit

O arquivo app.yaml a seguir mostra como configurar um aplicativo Streamlit. Ele usa um comando personalizado para iniciar o aplicativo com streamlit run e define uma variável de ambiente para o ID SQL warehouse e um sinalizador de acompanhamento de uso.

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

Use uma configuração como essa se o seu aplicativo depender de um recurso compute específico, como um SQL warehouse, ou se precisar de determinadas variáveis de ambiente para controlar o comportamento do tempo de execução.

Exemplo app.yaml para um aplicativo Flask

Este exemplo mostra como configurar um aplicativo Flask usando o servidor Gunicorn. A configuração command especifica os parâmetros do Gunicorn startup e a seção env define o caminho para um volume Unity Catalog como uma variável de ambiente.

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

Use essa abordagem quando seu aplicativo precisar de um servidor WSGI pronto para produção, como o Gunicorn, e quando ele depender de dados armazenados em um volume do Unity Catalog ou em outro caminho específico do ambiente.