Compartilhar via


O que é o Construtor de API de Dados para Bancos de Dados do Azure?

O DAB (Construtor de API de Dados) é um mecanismo baseado em configuração de software livre que cria APIs REST e GraphQL para bancos de dados com suporte, como SQL Server, Azure Cosmos DB, PostgreSQL e MySQL. O DAB é executado em qualquer nuvem ou local e é gratuito. Configure-o usando um único arquivo JSON, para que você possa expor objetos de banco de dados sem escrever uma API personalizada.

Ilustração do mascote do construtor de API de Dados usando um chapéu de construção.

O construtor de API de Dados substitui a maioria das APIs de dados personalizadas que executam operações CRUD genéricas (Criar, Ler, Atualizar, Excluir) em um banco de dados. O DAB é independente de linguagem, tecnologia e estrutura. Ele não requer nenhum código de aplicativo e um único arquivo de configuração. O melhor de tudo é que é verdadeiramente gratuito, sem camada premium, e pode ser executado de forma sem estado em qualquer lugar.

Suporte a ponto de extremidade

O construtor de API de dados dá suporte a endpoints REST e GraphQL de forma integrada e simultaneamente. Com a versão 1.7 e posterior, o DAB também dá suporte ao PROTOCOLO MCP (Model Context Protocol) para aplicativos de agente com a mesma funcionalidade avançada.

Diagrama do suporte ao endpoint no Data API Builder.

O DAB inclui uma CLI multiplataforma, OpenTelemetry e checagens de saúde. Ele também dá suporte a OpenAPI e Swagger para pontos de extremidade REST e Nitro (anteriormente chamado de Banana Cake Pop) para pontos de extremidade GraphQL.

Dica

Recursos de ponto de extremidade prontos para uso:

  • Paginação de dados
  • Filtragem de dados
  • Classificação de dados
  • Seleção de Coluna
  • Procedimentos armazenados
  • Navegação de relacionamento

Suporte ao banco de dados

O DAB (Construtor de API de Dados) dá suporte a várias fontes de dados de back-end simultaneamente, incluindo fontes relacionais e NoSQL. Os bancos de dados com suporte incluem SQL Server e SQL do Azure, Azure Cosmos DB, PostgreSQL e MySQL. Para obter detalhes e limitações por banco de dados, consulte os recursos específicos do banco de dados.

Diagrama de bancos de dados com suporte para o construtor de API de Dados.

O Construtor de API de Dados pode se conectar a várias fontes de dados ao mesmo tempo. Você pode combinar fontes relacionais com bancos de dados JSON ou de documentos e misturar bancos de dados locais e de nuvem. Essa flexibilidade permite que o DAB dê suporte a tudo, desde configurações simples até topologias de implantação complexas.

Segurança

O contêiner sem estado e compatível com Docker do Data API Builder pode ser protegido com o EasyAuth do Serviço de Aplicativo do Azure, o Microsoft Entra ID ou qualquer servidor JWT (Token Web JSON). Ele tem um motor de políticas flexível, controles de segurança granulares e passa automaticamente dados de reivindicações para o contexto da sessão SQL.

Diagrama de opções de autenticação para o construtor de API de Dados.

O Construtor de API de Dados dá suporte a vários provedores de autenticação:

Fornecedor Caso de uso
Microsoft Entra ID Aplicativos de produção usando a identidade da Microsoft
JWT personalizado Provedores de identidade de terceiros (Okta, Auth0, Keycloak)
Serviço de Aplicativo Aplicativos em execução usando o Azure App Service EasyAuth
Simulador Desenvolvimento e teste locais

Para obter guias de configuração passo a passo, consulte a visão geral de segurança.

Arquitetura

Esse diagrama divide a relação entre todos os componentes do construtor de API de Dados. Ele começa com o esquema de banco de dados, que define tabelas, exibições e procedimentos armazenados. O arquivo de configuração da DAB projeta esses objetos em uma camada de abstração. Nessa camada, você nomeia entidades, seleciona ou cria alias para campos, define relações e aplica permissões. Durante a execução, o Data API Builder lê essa configuração para gerar uma superfície de API consistente, expondo o mesmo modelo de entidade por meio de endpoints REST e GraphQL. Essa separação permite que você evolua o banco de dados independentemente, mantendo um contrato estável e seguro para aplicativos e clientes.

Diagrama da arquitetura do construtor de API de Dados.

Configure o Construtor de API de Dados com um único arquivo JSON. No arquivo, você define:

  • Como o servidor se conecta a fontes de dados
  • Quais tabelas, exibições e procedimentos armazenados são expostos
  • Como as entidades são moldadas, nomeadas e relacionadas
  • Quais funções têm permissão para acessar cada operação

Opções de implantação

Diagrama das opções de hospedagem de contêiner para o construtor de API de Dados.

O DAB funciona muito bem com Aplicativos de Contêiner do Azure, Instâncias de Contêiner do Azure, Serviço de Kubernetes do Azure e Aplicativos Web do Azure para Contêineres. O DAB funciona com esses serviços enquanto dá suporte total a implantações locais personalizadas.

Integrações e funcionalidades

O DAB também se integra perfeitamente ao Application Insights. O arquivo de configuração pode refletir relações no banco de dados ou definir novas opções virtuais com suporte para recarregamento frequente. Os pontos de extremidade GraphQL permitem várias instruções Create aninhadas em uma única transação, enquanto os pontos de extremidade REST apresentam cache em memória e suporte avançado para palavras-chave de consulta semelhantes a OData.

Menos código, mais recursos

O DAB pode ajudar a reduzir o código de API personalizado, reduzir os pipelines de CI/CD e introduzir padrões e recursos avançados normalmente reservados para as maiores equipes de desenvolvimento. Ele é seguro e rico em recursos, permanecendo incrivelmente simples, escalonável e observável.

Código aberto

O construtor de API de dados é de software livre e liberado sob a licença do MIT. O repositório está disponível no GitHub no azure/data-api-builder.