Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
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.
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.
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.
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.
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
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.