Partilhar via


Desenvolver aplicativos Databricks

Importante

O Databricks Apps está em Visualização Pública.

Nota

Para implantar e executar aplicativos em seu espaço de trabalho Databricks, você deve garantir que seu firewall não bloqueie o domínio *.databricksapps.com.

Este artigo contém detalhes para criar aplicativos de dados e IA com aplicativos Databricks, incluindo como criar e editar aplicativos na interface do usuário, como usar recursos da plataforma Databricks, como armazéns SQL, segredos e trabalhos Databricks, práticas recomendadas para desenvolver seus aplicativos e informações importantes para desenvolver aplicativos usando estruturas suportadas.

Como faço para criar um aplicativo na interface do usuário do Databricks Apps?

  1. Na barra lateral, clique Novo ÍconeNovo e selectAplicação no menu.

  2. Você pode começar com um aplicativo de exemplo completo e pré-criado ou usar seu código-fonte e artefatos.

    • Para começar com um aplicativo de exemplo, selectModelo, clique na guia da sua estrutura preferida e select na list de aplicativos.
    • Para criar um aplicativo usando seu código, selectPersonalizado.

    Exibir a página para criar um novo aplicativo Databricks

  3. Clique em Next.

  4. No campo Nome do aplicativo , insira um nome para o aplicativo e, opcionalmente, insira uma descrição.

    Nota

    • O nome atribuído a um aplicativo Databricks não pode ser alterado após a criação do aplicativo, e qualquer usuário com acesso a um espaço de trabalho do Azure Databricks pode ver os nomes e o histórico de implantação de todos os aplicativos Databricks no espaço de trabalho. Além disso, o nome do aplicativo é incluído nos registros gravados no sistema tables. Devido a essa visibilidade, você não deve incluir informações confidenciais ao nomear seus aplicativos Databricks.
    • O nome deve ser exclusivo no espaço de trabalho do Azure Databricks que hospeda o aplicativo e deve conter apenas letras minúsculas, números e hífenes.

    Exibir a página para nomear um aplicativo Databricks

    Se você selecionou Personalizado, clique em Criar aplicativo. Se você selecionou Modelo, configure os recursos necessários e clique em Criar e implantar aplicativo. Consulte Atribuir recursos da plataforma Databricks a um aplicativo Databricks.

    Exibir a página para nomear um aplicativo Databricks e adicionar recursos

    A página de detalhes do aplicativo aparece depois que você clica em Criar e implantar aplicativo ou Criar aplicativo. Se você selecionou Modelo, o Databricks Apps cria seu aplicativo e, em seguida, implanta o aplicativo, incluindo o código de exemplo do modelo e a configuração necessária para o aplicativo. A página de detalhes do aplicativo mostra:

    • O status da criação e implantação do aplicativo.
    • As etapas que você pode usar para continuar o desenvolvimento do aplicativo localmente, incluindo copiar os artefatos do aplicativo para seu ambiente local e sincronizar as alterações locais de volta para o espaço de trabalho do Azure Databricks.

    Exibir os detalhes de um aplicativo Databricks modelo

    Se você selecionou Personalizado, o Databricks Apps criará seu aplicativo. Como você deve adicionar o código e os artefatos para seu aplicativo, você deve implantar o aplicativo como uma etapa separada. A página de detalhes do aplicativo mostra:

    • O status da criação do aplicativo.
    • As etapas que você pode usar para sync o código e os artefatos do aplicativo do seu ambiente de desenvolvimento local para o espaço de trabalho do Azure Databricks e implantar o aplicativo.

    Exibir os detalhes de um aplicativo Databricks modelo

    Para saber como set um ambiente de desenvolvimento local, criar ou update o código e a configuração do seu aplicativo localmente e sync implantando o aplicativo no seu espaço de trabalho do Azure Databricks, consulte Get começar com as aplicações do Databricks.

  5. Se você selecionou Modelo e deseja copiar os artefatos do aplicativo do espaço de trabalho para o ambiente de desenvolvimento local, você pode usar a CLI do Databricks:

    databricks workspace export-dir <workspace-path> <target-path>
    

    Substituir:

    • <workspace-path> com o caminho para o diretório de arquivos do espaço de trabalho que contém o código e os artefatos do aplicativo.
    • <target-path> com um caminho em seu ambiente local para copiar os arquivos.

Atribuir recursos da plataforma Databricks a um aplicativo Databricks

Nota

Para usar o Databricks SQL, as entidades de serviço exigem acesso a um SQL warehouse e a qualquer tables acessado por consultas.

Para usar recursos da plataforma Databricks, como Databricks SQL, Databricks Jobs, Mosaic AI Model Serving e segredos do Databricks, adicione esses recursos ao seu aplicativo como recursos. Você pode adicionar recursos ao criar ou editar um aplicativo.

  1. No cartão Criar nova aplicação ou Editar aplicação, clique em Configurações avançadas>+ Adicionar recurso, e selecione o tipo de recurso select.

    Adicionando um SQL warehouse como um recurso de aplicativo na interface do usuário

  2. Dependendo do tipo de recurso, preencha os campos necessários para configurar o recurso, incluindo o campo Chave do recurso. Essa chave é usada posteriormente para fazer referência ao recurso.

  3. Clique em Guardar.

  4. Adicione uma entrada para o recurso no app.yaml arquivo de configuração usando a chave de recurso do SQL warehouse. Como isso está fazendo referência à origem do valor do parâmetro e não ao valor real, use valueFrom em vez de value.

    env:
      - name: "DATABRICKS_WAREHOUSE_ID"
        valueFrom: "sql-warehouse"
    
  5. Para fazer referência ao recurso no código do aplicativo, use o valor do campo (nameneste exemplo) para fazer referência ao valor da DATABRICKS_WAREHOUSE_ID chave configurada.

    import os
    
    os.getenv('DATABRICKS_WAREHOUSE_ID')
    

Para ver mais exemplos de uso de recursos com aplicativos, incluindo armazéns SQL e pontos de extremidade de serviço de modelo, consulte os exemplos de modelo ao criar um aplicativo e Práticas recomendadas: Usar segredos para armazenar informações confidenciais para um aplicativo Databricks.

Exibir os detalhes de um aplicativo Databricks

Para exibir a página de detalhes de um aplicativo Databricks:

  1. Clique em ícone de computaçãoCalcular na barra lateral.
  2. Vá para a guia Aplicativos .
  3. No Nomecolumn, clique no nome do aplicativo.
  4. A guia Visão geral é exibida com detalhes do aplicativo, incluindo seu status, local de implantação e quaisquer recursos associados.
    • Para acessar o histórico de implantação do aplicativo, vá para a guia Implantações .
    • Para ver os registos da aplicação, aceda ao separador Logs .
    • Para exibir o ambiente de tempo de execução do aplicativo, incluindo variáveis de ambiente e pacotes instalados, vá para a guia Ambiente .

Configurar permissões para seu aplicativo Databricks

Para gerenciar as permissões do aplicativo, você deve ter a CAN MANAGE permissão ou IS OWNER .

  1. Na página de detalhes do aplicativo, clique em Permissões.
  2. Em Configurações de Permissões,, o menu suspenso Usuário , Grupo ou Entidade de Serviço... e, em seguida, um usuário, grupo, entidade de serviço ou todos os usuários do espaço de trabalho.
  3. Selecione Select uma permissão a partir do menu suspenso de permissão.
  4. Clique em Adicionar e, em seguida, clique em Guardar.

Mantendo o estado do seu aplicativo Databricks

Qualquer estado que seu aplicativo mantém na memória é perdido quando ele é reiniciado. Se o seu aplicativo exigir a manutenção do estado entre as reinicializações, armazene o estado externamente. Por exemplo, a sua aplicação pode usar Databricks SQL, ficheiros de espaço de trabalhoou Unity Catalogvolumes para persistir o estado.

Registo a partir da sua aplicação Databricks

Nota

Para exibir logs na interface do usuário do Databricks Apps ou com a URL do aplicativo, seu aplicativo deve fazer logon em stdout e stderr.

Para exibir a saída padrão e o erro padrão de um aplicativo, na página de detalhes do aplicativo, clique na guia Logs . Consulte Exibir os detalhes de um aplicativo Databricks.

Você também pode visualizar a saída padrão e os logs de erro padrão no <appurl>/logz link. Por exemplo, se o URL do seu aplicativo for https://my-app-1234567890.my-instance.databricksapps.com, você poderá visualizar os logs em https://my-app-1234567890.my-instance.databricksapps.com/logz. Para encontrar o URL da aplicação, aceda à página de detalhes da aplicação.

Especificando dependências de biblioteca para seu aplicativo Databricks

Se seu aplicativo exigir bibliotecas Python diferentes dos pacotes instalados automaticamente com sua implantação, use um requirements.txt arquivo para definir essas bibliotecas. Se um pacote em seu requirements.txt arquivo duplicar um dos pacotes instalados automaticamente, a versão em seu requirements.txt substituirá o pacote instalado automaticamente.

Para obter os list pacotes e versões instalados como parte da implementação da sua aplicação, consulte as bibliotecas Python instaladas.

Quais cabeçalhos HTTP são passados para aplicativos Databricks?

Os seguintes X-Forwarded-* cabeçalhos são passados do proxy reverso Databricks Apps para aplicativos:

Cabeçalho Description
X-Forwarded-Host O host ou domínio original solicitado pelo cliente.
X-Forwarded-Preferred-Username O nome de usuário fornecido pelo IdP.
X-Forwarded-User O usuário identifier fornecido pelo IdP.
X-Forwarded-Email O e-mail do usuário fornecido pelo IdP.
X-Real-Ip O endereço IP do cliente que fez a solicitação original.
X-Request-Id O UUID do pedido.

Quais estruturas são suportadas pelo Databricks Apps?

Você pode usar a maioria das estruturas Python para desenvolver seus aplicativos. Para ver exemplos de uso de estruturas específicas, incluindo Dash, Gradio e Streamlit, select da biblioteca de aplicativos de modelo ao criar um novo aplicativo na interface do usuário. Consulte Como criar um aplicativo na interface do usuário do Databricks Apps?.

Para obter informações sobre variáveis específicas do Streamlit que são set no ambiente de tempo de execução do Databricks Apps, consulte Variáveis de ambiente padrão para Streamlit.

Práticas recomendadas: usar segredos para armazenar informações confidenciais para um aplicativo Databricks

O Databricks recomenda o uso de segredos para armazenar informações confidenciais, como autenticação credentials. Para saber mais sobre como usar segredos, consulte Gerenciar segredos.

Para usar um segredo com seu aplicativo:

  1. Configure o segredo como um recurso de aplicativo.

    Adicionando um segredo como um recurso de aplicativo na interface do usuário

  2. Adicione uma entrada para o segredo no arquivo de app.yaml configuração do aplicativo.

    env:
      - name: "API_TOKEN"
        valueFrom: "api-token-value"
    
  3. Para fazer referência ao segredo no código do aplicativo, use o valor do campo (nameneste exemplo) para fazer referência ao valor da API_TOKEN chave configurada.

token = os.getenv('API_TOKEN')

Práticas recomendadas: usar os recursos do Azure Databricks para processamento de dados

A computação do Databricks Apps foi projetada para servir a interface do usuário. Para garantir que seus aplicativos possam oferecer suporte eficiente a vários usuários, você deve usar os recursos do Databricks para executar qualquer coisa que não seja o simples processamento de dados. Por exemplo, use Databricks SQL para processamento de consultas e armazenamento de conjuntos de dados, trabalhos Databricks para processamento de dados ou modelo servindo para consultar modelos de IA.

Práticas recomendadas: siga as práticas recomendadas de codificação segura

O Databricks recomenda seguir práticas de codificação seguras ao desenvolver seus aplicativos, incluindo parametrizar consultas para evitar ataques de injeção de SQL. Consulte a API de execução da instrução.

Diretrizes importantes para implementar aplicativos Databricks

  • Os aplicativos Databricks enviam um SIGKILL sinal 15 segundos após um SIGTERM, portanto, os aplicativos não devem desligar normalmente mais de 15 segundos após receber o SIGTERM sinal. Se um aplicativo não for encerrado após 15 segundos, um SIGKILL sinal será enviado para encerrar o processo e todos os processos filho.
  • Como os aplicativos Databricks são executados como um usuário de sistema sem privilégios, eles não podem executar operações que exijam a execução em um contexto de segurança privilegiado, como operações que exigem permissões de usuário raiz.
  • As solicitações são encaminhadas de um proxy reverso, portanto, os aplicativos não devem depender da origem das solicitações. O ambiente Databricks Apps configura a parameters necessária para frameworks suportados.
  • Como a estrutura do aplicativo Databricks gerencia connectionsTLS (Transport Layer Security), seus aplicativos não devem executar nenhuma conexão TLS ou operações de handshake.
  • Seus aplicativos devem ser implementados para lidar com solicitações no formato HTTP/2 cleartext (H2C).
  • Os aplicativos Databricks devem hospedar servidores HTTP e 0.0.0.0 usar o número da porta especificado na DATABRICKS_APP_PORT variável de ambiente. Consulte variáveis de ambiente.