Partilhar via


O que é Databricks Apps?

Importante

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

O Databricks Apps permite que os desenvolvedores criem dados seguros e aplicativos de IA na plataforma Databricks e compartilhem esses aplicativos com os usuários.

Anteriormente, a criação de aplicativos de dados e IA que usam dados gerenciados por um espaço de trabalho Databricks e os recursos de análise de dados da plataforma Databricks exigia a implantação de infraestrutura separada para hospedar aplicativos, garantindo a conformidade com os controles de governança de dados, gerenciando a segurança do aplicativo, incluindo autenticação e autorização, e assim por diante. Com o Databricks Apps, o Databricks hospeda seus aplicativos, portanto, você não precisa configurar ou implantar infraestrutura adicional.

Seus aplicativos podem usar os recursos e recursos da plataforma Databricks, incluindo Unity Catalog para governança, Databricks SQL para consultar dados, recursos de IA, como serviço de modelo, Databricks Jobs para ETL e as regras de segurança já configuradas no espaço de trabalho, incluindo as regras que controlam o acesso aos dados usados pelo seu aplicativo. A autenticação e a autorização usam a funcionalidade existente do Azure Databricks, incluindo OAuth e entidades de serviço.

A Databricks projetou aplicativos Databricks para desenvolvedores. Você desenvolve seus aplicativos em Python usando qualquer estrutura, como Dash, Streamlit ou Gradio. Como seus aplicativos são portáteis, você pode criá-los e depurá-los localmente, implantá-los em um espaço de trabalho do Databricks e movê-los para outro espaço de trabalho.

Requerimentos

Requisitos do espaço de trabalho

Para implantar e executar aplicativos em seu espaço de trabalho do Azure Databricks, o espaço de trabalho deve atender aos seguintes requisitos:

  • Você deve garantir que seu firewall não bloqueie o domínio *.databricksapps.com.
  • Seu espaço de trabalho Databricks deve estar em uma região suportada. Consulte a disponibilidade da funcionalidade sem servidor .

Requisitos do ambiente de desenvolvimento

Para criar aplicativos localmente e implantá-los em seu espaço de trabalho do Azure Databricks, seu ambiente de desenvolvimento deve atender aos seguintes requisitos:

  • Python 3.11 ou superior.

  • A interface de linha de comando Databricks (Databricks CLI), versão v0.229.0 ou superior, configurada para acessar seu espaço de trabalho Databricks. Para instalar ou atualizar e configurar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks e Autenticação para a CLI do Databricks.

  • O SDK do Databricks para Python. Você pode instalar o SDK com pip3:

    pip3 install databricks-sdk

    Consulte Databricks SDK for Python.

  • (Opcional) Se seu aplicativo precisar acessar o Databricks SQL, instale o Databricks SQL Connector for Python. Você pode instalar o conector com pip3:

    pip3 install databricks-sql-connector

Onde desenvolvo um aplicativo Databricks?

Você pode escrever e testar aplicativos em qualquer IDE que ofereça suporte a Python, como PyCharm, IntelliJ IDEA ou Visual Studio Code. O Databricks recomenda desenvolver seus aplicativos usando o Visual Studio Code e a extensão Databricks para Visual Studio Code, mas você também pode usar o bloco de anotações e o editor de arquivos Databricks para editar seu código diretamente no espaço de trabalho Databricks.

Como faço para desenvolver e implantar um aplicativo Databricks?

Para desenvolver um aplicativo localmente, o seguinte é um fluxo de trabalho típico:

  • Desenvolva seu aplicativo em seu IDE preferido, como o Visual Studio Code.
  • Execute seu aplicativo localmente na linha de comando e visualize-o em seu navegador.
  • Quando o código estiver completo e testado, mova o código e os artefatos necessários para o espaço de trabalho do Databricks.

Consulte Introdução aos aplicativos Databricks.

Para criar um aplicativo na interface do usuário ou usando um exemplo pré-criado, consulte Como criar um aplicativo na interface do usuário do Databricks Apps?.

Posso usar estruturas Python com meu aplicativo Databricks?

Você pode desenvolver seu aplicativo usando suas estruturas Python favoritas, como Dash, Streamlight ou Gradio. Você pode ver exemplos que usam estruturas Python populares na interface do usuário do Databricks Apps. Consulte Como criar um aplicativo na interface do usuário do Databricks Apps?.

Como o Databricks Apps gerencia a autorização?

O modelo de autorização de Aplicativos Databricks inclui o usuário acessando o aplicativo e uma entidade de serviço gerenciado do Azure Databricks atribuída ao aplicativo:

  • Para acessar um aplicativo, um usuário deve ter permissões de CAN_USE ou CAN_MANAGE no aplicativo. Para saber mais sobre como atribuir permissões a um aplicativo, consulte Configurar permissões para seu aplicativo Databricks.

  • Quando um aplicativo é criado, o Databricks Apps cria automaticamente uma entidade de serviço gerenciada do Azure Databricks e atribui essa entidade de serviço ao aplicativo. Essa entidade de serviço tem acesso apenas ao espaço de trabalho no qual o aplicativo é criado e é usado para autenticar e autorizar o acesso a recursos no espaço de trabalho, como armazéns SQL, pontos de extremidade de serviço de modelo ou objetos protegíveis no Unity Catalog. Todo o acesso de um aplicativo a dados ou outros recursos do espaço de trabalho é realizado em nome da entidade de serviço, não do proprietário ou usuário do aplicativo.

    O Databricks Apps concede automaticamente à entidade de serviço permissões para quaisquer recursos atribuídos ao aplicativo se o usuário que implanta o aplicativo tiver CAN MANAGE permissão nesses recursos. Se o acesso da entidade de serviço a outros recursos for necessário, por exemplo, tabelas ou arquivos de espaço de trabalho, um administrador de conta ou espaço de trabalho deverá conceder à entidade de serviço acesso a esses recursos. Ao conceder acesso a recursos, o Databricks recomenda seguir o princípio do menor privilégio e conceder à entidade de serviço apenas as permissões mínimas necessárias. Veja Gerir principais de serviço.

    O nome da entidade de serviço pode ser encontrado na página de detalhes do aplicativo no cartão de recursos do aplicativo. A entidade de serviço inclui o nome do aplicativo, por exemplo, para um aplicativo chamado my-hello-world-app, o nome da entidade de serviço é app-22ixod my-hello-world-app.

Quem pode criar aplicativos Databricks?

Qualquer usuário em um espaço de trabalho pode criar aplicativos. No entanto, para gerenciar as permissões da entidade de serviço atribuída a um aplicativo, você deve ser um administrador de conta ou espaço de trabalho.

Como configuro meu aplicativo Databricks?

O Databricks Apps define automaticamente várias variáveis de ambiente que seu aplicativo pode acessar, como o host Databricks no qual seu aplicativo está sendo executado. Você também pode definir parâmetros personalizados usando um arquivo YAML. Consulte Configuração de aplicativos Databricks.

Como faço para integrar meu aplicativo Databricks com os serviços do Azure Databricks?

Seus aplicativos podem usar recursos da plataforma Databricks, como Databricks SQL para consultar dados, Databricks Jobs para ingestão e processamento de dados, Mosaic AI Model Serving para acessar modelos de IA generativos e segredos Databricks para gerenciar informações confidenciais. Ao configurar seu aplicativo, esses recursos da plataforma Databricks são chamados de recursos.

No entanto, como os aplicativos são projetados para serem portáteis, o Databricks recomenda que os aplicativos não dependam de recursos específicos. Por exemplo, seu aplicativo não deve ser codificado para usar um SQL warehouse específico. Em vez disso, configure o SQL warehouse na interface do usuário do Databricks Apps ao criar ou atualizar um aplicativo.

Além disso, como os aplicativos são configurados para serem executados com os privilégios menos necessários, eles não devem criar novos recursos. Em vez disso, eles devem confiar na plataforma Databricks para resolver serviços dependentes existentes. Cada aplicativo tem uma entidade de serviço Databricks atribuída. Durante a criação ou atualização do aplicativo, a entidade de serviço recebe as permissões necessárias em dependências de recursos definidas.

Para saber mais sobre como adicionar recursos da plataforma Databricks como recursos do aplicativo, consulte Atribuir recursos da plataforma Databricks a um aplicativo Databricks.

Onde posso encontrar logs de auditoria para meus aplicativos Databricks?

Para localizar eventos de auditoria para aplicativos, use as tabelas do sistema Azure Databricks. Você pode usar as tabelas do sistema para consultar:

Qual é o custo do Databricks Apps?

Para obter informações sobre os preços dos aplicativos Databricks, consulte Computação para aplicativos.

O ambiente do sistema Databricks Apps

Nota

Para exibir o ambiente de um aplicativo específico, incluindo variáveis de ambiente e pacotes instalados, vá para a guia Ambiente na página de detalhes do aplicativo. Consulte Exibir os detalhes de um aplicativo Databricks.

A seguir descrevemos o ambiente do sistema em que seus aplicativos são executados, os recursos disponíveis para seu aplicativo e as versões dos aplicativos e bibliotecas instalados.

  • Sistema Operacional: Ubuntu 22.04 LTS
  • Python: 3.11.0. Seus aplicativos são executados em um ambiente virtual Python. Todas as dependências são instaladas nesse ambiente virtual, incluindo bibliotecas instaladas automaticamente e quaisquer bibliotecas instaladas, por exemplo, com um requirements.txt arquivo.
  • Recursos do sistema: seus aplicativos podem usar até duas CPUs virtuais (vCPU) e 6 GB de memória. Seu aplicativo pode ser reiniciado se exceder os recursos alocados.

Bibliotecas Python instaladas

Biblioteca Versão
databricks-sql-conector 3.4.0
Databricks-SDK 0.33.0
mlflow-magro 2.16.2
Gradio 4.44.0
Iluminado em fluxo 1.38.0
brilhante 1.1.0
travessão 2.18.1
frasco 3.0.3
fastapi 0.115.0
uvicorn[padrão] 0.30.6
Gunicorn 23.0.0
dash-ag-grade 31.2.0
dash-mantina-componentes 0.14.4
dash-bootstrap-componentes 1.6.0
enredo 5.24.1
plotly-resampler 0.10.0

Limitações

  • Há um limite de 50 aplicativos em um espaço de trabalho Databricks.

  • Os ficheiros utilizados por uma aplicação não podem exceder 10 MB de tamanho. Se um arquivo no diretório do seu aplicativo exceder esse limite, a implantação do aplicativo falhará com um erro.

  • O Databricks Apps não atende aos padrões de conformidade HIPAA, PCI ou FedRAMP.

  • Os logs criados por um aplicativo não são persistentes quando a computação do Azure Databricks que hospeda o aplicativo é encerrada. Consulte Registo a partir da sua aplicação Databricks.

  • Como eles não suportam OAuth, não é possível usar URLs regionais herdadas com aplicativos Databricks.