Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo apresenta os principais conceitos por trás do Databricks Apps, incluindo como os aplicativos são estruturados, como gerenciam dependências e estado, como as permissões funcionam e como os aplicativos interagem com os recursos da plataforma. Compreender esses conceitos ajuda no desenvolvimento, implantação e gerenciamento de aplicativos em seu espaço de trabalho.
App
Um aplicativo Databricks é um aplicativo Web que é executado como um serviço em contêiner na plataforma sem servidor Azure Databricks. Os desenvolvedores usam estruturas com suporte, como Streamlit, Dash ou Gradio para criar aplicativos que fornecem dados interativos ou experiências de IA em um espaço de trabalho do Azure Databricks.
Cada aplicativo inclui sua própria configuração, identidade e ambiente de tempo de execução isolado. Como os aplicativos pertencem a um espaço de trabalho específico, eles podem acessar recursos no nível do espaço de trabalho, como armazéns SQL, e recursos no nível da conta, como o Unity Catalog. Os desenvolvedores também podem optar por compartilhar aplicativos com usuários fora do espaço de trabalho, mas dentro da mesma conta do Azure Databricks.
Embora o contêiner do aplicativo seja executado na infraestrutura sem servidor do Azure Databricks, o próprio aplicativo pode se conectar a recursos sem servidor e sem servidor. Conceitualmente, uma aplicação atua como um serviço de controlo que hospeda uma interface web e acede aos serviços de plano de dados do Azure Databricks disponíveis. Para obter mais informações, consulte a visão geral da arquitetura Databricks.
Para iniciar e gerenciar aplicativos, vá para a seção Aplicativos na interface do usuário do espaço de trabalho.
URL da aplicação
O Databricks atribui automaticamente a cada aplicativo uma URL exclusiva quando você o cria. O URL segue este formato:
https://<app-name>-<workspace-id>.<region>.databricksapps.com
Where:
-
<app-name>é o nome que você fornece ao criar o aplicativo -
<workspace-id>é o identificador exclusivo do seu espaço de trabalho -
<region>é a região de nuvem onde seu espaço de trabalho está localizado
Não é possível alterar o URL depois de criar a aplicação. Se precisar de um URL diferente, crie um novo aplicativo com um nome diferente.
Template
Um modelo de aplicativo é um andaime pré-criado que ajuda os desenvolvedores a começar a criar aplicativos rapidamente usando uma estrutura compatível. Cada modelo inclui uma estrutura de arquivo básica, um app.yaml manifesto, um requirements.txt arquivo para aplicativos Python e código-fonte de exemplo.
O app.yaml arquivo define o comando para executar o aplicativo (por exemplo, streamlit run <app-name> para um aplicativo Streamlit), configura variáveis de ambiente local e declara todos os recursos necessários.
- Use
requirements.txtpara listar pacotes Python adicionais para instalar compip. - Use
package.jsonpara listar Node.js pacotes para instalar comnpm.
Esses arquivos complementam o ambiente padrão do sistema e pacotes pré-instalados. Para obter mais informações, consulte Ambiente do sistema Databricks Apps.
Os desenvolvedores podem gerar um novo aplicativo a partir de um modelo usando a interface do usuário ou CLI do Azure Databricks.
Ambiente e pacotes do sistema
Os aplicativos Databricks são executados em um ambiente de sistema pré-configurado gerenciado pelo Azure Databricks. Para obter detalhes, consulte Ambiente do sistema Databricks Apps.
Cada aplicativo tem seu próprio ambiente isolado para evitar conflitos de dependência. Para garantir a consistência, defina os pacotes necessários e suas versões no arquivo apropriado para seu aplicativo:
- Para Python, use
requirements.txt. - Para Node.js, use
package.json.
Para implantações híbridas, você provavelmente terá os dois arquivos.
Durante a implantação, o Azure Databricks instala essas dependências no ambiente de tempo de execução isolado do aplicativo. Se você incluir um pacote que já está pré-instalado, a versão especificada substituirá o padrão.
Consulte Gerenciar dependências para um aplicativo Databricks para obter mais detalhes.
Recursos do aplicativo
Os recursos da aplicação são serviços nativos do Azure Databricks dos quais uma aplicação depende, como armazéns SQL, endpoints de disponibilidade de modelos, tarefas, segredos, ou volumes. Você declara essas dependências no manifesto databricks.yml usando o resources campo. O Azure Databricks dá suporte aos seguintes tipos de recursos:
- Armazém SQL
- Job
- Ponto de extremidade de serviço de hospedagem de modelo
- Espaço Genie
- Secret
- Volume
Para acessar os serviços do Azure Databricks que ainda não têm um tipo de recurso suportado, use um segredo gerenciado pelo Unity Catalog para injetar credenciais com segurança. Consulte Gestão secreta.
Há dois estágios para configurar os recursos do aplicativo:
-
Declaração (desenvolvimento) - Declare cada recurso necessário no manifesto
databricks.yml. Isso define quais recursos o aplicativo precisa e quais permissões ele exige. - Configuração (implantação) - Durante a implantação, use a interface do usuário do Databricks Apps para configurar os recursos declarados com instâncias reais específicas do espaço de trabalho (por exemplo, selecionando um SQL warehouse específico).
Essa separação entre declaração e configuração permite que os aplicativos sejam portáteis entre ambientes. Por exemplo, você pode implantar o mesmo código de aplicativo em um espaço de trabalho de desenvolvimento e vinculá-lo a um SQL warehouse. Na produção, você pode reutilizar o código e configurar um depósito diferente sem fazer alterações no código. Para dar suporte a isso, evite codificar IDs de recursos ou valores específicos do ambiente em seu aplicativo.
O Azure Databricks impõe o acesso com privilégios reduzidos. Os aplicativos devem usar recursos existentes e não podem criar novos. Durante a implantação, os administradores do espaço de trabalho revisam e aprovam o acesso solicitado do aplicativo aos recursos. A entidade de serviço da aplicação recebe as permissões necessárias, e o programador da aplicação deve ter autorização para as conceder.
Para saber mais, consulte Adicionar recursos a um aplicativo Databricks.
Estado da aplicação
Um aplicativo pode ter um dos seguintes status: Em execução, Parado, Implantando ou Travado.
- Em execução - O aplicativo está ativo e acessível. O Azure Databricks cobra pelos recursos de computação usados enquanto o aplicativo está em execução.
- Interrompido - O aplicativo não está acessível e não incorre em nenhum custo. O Azure Databricks preserva a configuração e o ambiente do aplicativo, para que você possa reiniciá-lo sem reconfigurar.
- Implantando - A aplicação está a iniciar. Ainda não está disponível e não incorre em quaisquer custos durante esta fase.
- Falha - O aplicativo falhou ao iniciar ou parou inesperadamente. É inacessível e não tem custos. Você pode visualizar os logs para solucionar problemas e reiniciar o aplicativo assim que o problema for resolvido.
Estado do aplicativo
O estado do aplicativo inclui quaisquer dados ou contexto que o aplicativo precise para persistir nas sessões ou interações do usuário. Os aplicativos não preservam o estado na memória após as reinicializações. Todos os dados mantidos na memória são perdidos quando o aplicativo é desligado.
Você pode armazenar o estado das seguintes maneiras:
- Armazenamento na memória para dados temporários em uma única sessão. Esses dados são perdidos quando o aplicativo é reiniciado.
- Sistema de arquivos local para arquivos temporários durante a execução do aplicativo. Esses dados são perdidos quando o aplicativo é reiniciado.
- Tabelas do Azure Databricks usando Databricks SQL para cargas de trabalho persistentes de dados estruturados e análises.
- Arquivos de espaço de trabalho para dados não estruturados persistentes.
- Volumes do Catálogo Unity para dados não estruturados persistentes com governança do Catálogo Unity.
- Instâncias de banco de dados Lakebase para dados relacionais persistentes com compatibilidade com PostgreSQL.
Os casos de uso comuns incluem o armazenamento em cache dos resultados da consulta, o salvamento das preferências do usuário ou o registro das ações do usuário nas sessões.
Autenticação e autorização de aplicativos
O Databricks Apps usa o OAuth 2.0 para autenticação e controle de acesso. Cada aplicativo tem duas identidades complementares que determinam como ele autentica e autoriza o acesso aos recursos do Azure Databricks: autorização do aplicativo e autorização do usuário.
Autorização de aplicação - Azure Databricks cria automaticamente uma entidade de serviço para cada aplicação. Essa entidade de serviço atua como a identidade do aplicativo e recebe permissões do desenvolvedor do aplicativo. Todos os usuários do aplicativo compartilham essa identidade e têm acesso ao mesmo conjunto de permissões. Esse modelo é útil para operações que não dependem do contexto do usuário individual, como registro em log ou ações no nível do sistema.
Autorização do usuário - Este modelo usa a identidade do usuário do aplicativo para autenticar e autorizar o acesso. Os usuários devem pertencer à conta do Azure Databricks onde o aplicativo é implantado. Depois de entrar por meio do logon único (SSO), o aplicativo pode usar as credenciais do usuário para acessar recursos controlados, como um depósito SQL. Isso permite que o aplicativo respeite as permissões refinadas geridas pelo Unity Catalog sem conceder essas permissões ao principal de serviço do aplicativo.
Os aplicativos solicitam escopos OAuth específicos em seu manifesto para controlar quais APIs e recursos eles podem acessar. Este modelo flexível suporta segurança de nível empresarial e permite um controlo de acesso refinado.
Para obter mais informações, consulte Configurar autorização em um aplicativo Databricks.
Utilizadores da aplicação
Após a implantação, os desenvolvedores de apps podem compartilhar um aplicativo com usuários ou grupos, concedendo as permissões CAN_USE ou CAN_MANAGE na instância do aplicativo. Os usuários não precisam pertencer ao mesmo espaço de trabalho, mas devem fazer parte da mesma conta do Azure Databricks. Para compartilhar com usuários externos, primeiro sincronize-os com a conta usando seu provedor de identidade. Para obter mais informações, consulte Sincronizar usuários e grupos do Microsoft Entra ID usando SCIM.
Você também pode distribuir o mesmo aplicativo em ambientes de desenvolvimento, teste e produção usando pipelines de CI/CD e infraestrutura como código. A interface do usuário de aplicativos centralizada ajuda os usuários a descobrir e iniciar aplicativos que eles estão autorizados a usar.