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.
Data API builder (DAB) é um motor open source, baseado em configuração, que cria APIs REST e GraphQL para bases de dados suportadas como SQL Server, Azure Cosmos DB, PostgreSQL e MySQL. O DAB corre em qualquer cloud ou on-premises, e é gratuito de usar. Configura-se usando um único ficheiro JSON, por isso pode expor objetos da base 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. Não requer código de aplicação e apenas um ficheiro de configuração. O melhor de tudo é que é verdadeiramente gratuito, sem camadas premium, e funciona de forma independente em qualquer lugar.
Suporte a endpoints
O Data API Builder suporta tanto endpoints REST como GraphQL logo de início e simultaneamente. Com a versão 1.7 e posteriores, o DAB também suporta o Model Context Protocol (MCP) para aplicações agente com a mesma funcionalidade rica.
O DAB inclui uma CLI multiplataforma, OpenTelemetry e verificações de saúde. Também suporta OpenAPI e Swagger para endpoints REST e Nitro (anteriormente chamado Banana Cake Pop) para endpoints GraphQL.
Sugestão
Funcionalidades de endpoint prontas a usar:
- Paginação de dados
- Filtragem de Dados
- Ordenação de Dados
- Seleção de Colunas
- Procedimentos armazenados
- Navegação de relacionamento
- Agregação para bases de dados da família SQL
Suporte a bases de dados
O construtor de API de dados (DAB) suporta várias fontes de dados de back-end simultaneamente, incluindo fontes relacionais e NoSQL. As bases de dados suportadas incluem SQL Server e Azure SQL, Azure Cosmos DB, PostgreSQL e MySQL. Para detalhes e limitações por base de dados, consulte Disponibilidade de funcionalidades.
O Data API Builder pode ligar-se a várias fontes de dados ao mesmo tempo. Pode combinar fontes relacionais com bases de dados JSON ou de documentos e misturar bases de dados na cloud e on-premises. Esta flexibilidade permite que o DAB suporte desde configurações simples até topologias de implementação complexas.
Segurança
O contentor sem estado e compatível com Docker do Data API Builder pode ser protegido com o Azure App Service EasyAuth, Microsoft Entra ID ou qualquer servidor JSON Web Token (JWT). Tem um motor de política flexível, controlos de segurança pormenorizados e transfere automaticamente os dados de pedidos de indemnização para o contexto da sessão SQL.
O Data API Builder suporta múltiplos fornecedores de autenticação:
| Provider | Caso de uso |
|---|---|
| Microsoft Entra ID | Aplicações de produção que usam a identidade Microsoft |
| JWT Personalizado | Fornecedores de identidade de terceiros (Okta, Auth0, Keycloak) |
| Serviço de Aplicações | Apps a funcionar no serviço Azure App Service EasyAuth |
| Simulador | Desenvolvimento local e testes |
Para guias de configuração passo a passo, consulte Visão geral de Segurança.
Arquitetura
Este diagrama decompõe a relação entre todos os componentes do construtor de API de dados. Começa com o esquema da base de dados, que define tabelas, vistas e procedimentos armazenados. O ficheiro de configuração DAB projeta estes objetos numa camada de abstração. Nessa camada, nomeias entidades, selecionas campos de alias, defines relações e aplicas permissões. Em tempo de execução, o Data API builder lê esta configuração para gerar uma superfície API consistente, expondo o mesmo modelo de entidade através dos endpoints REST e GraphQL. Esta separação permite-lhe evoluir a base de dados de forma independente, mantendo um contrato estável e seguro para aplicações e clientes.
Configura o Data API Builder com um único ficheiro JSON. No ficheiro, você define:
- Como o servidor se liga às fontes de dados
- Quais tabelas, vistas e procedimentos armazenados são expostos
- Como as entidades são moldadas, nomeadas e relacionadas
- Quais as funções autorizadas a aceder a cada operação
Opções de implantação
O DAB funciona muito bem com Azure Container Apps, Azure Container Instances, Azure Kubernetes Service e Azure Web Apps for Containers. O DAB trabalha com esses serviços enquanto oferece suporte total a implantações locais personalizadas.
Integrações e capacidades
O DAB também se integra perfeitamente ao Application Insights. O arquivo de configuração pode refletir relacionamentos no banco de dados ou definir novos relacionamentos virtuais com suporte para recarregamento a quente. Os pontos de extremidade GraphQL permitem várias instruções de criação aninhadas numa única transação, enquanto os pontos de extremidade REST apresentam caching em memória e suporte avançado para palavras-chave de cadeia de consulta semelhantes a OData.
Menos código, mais funcionalidades
O DAB pode ajudar a reduzir código API personalizado, encurtar pipelines CI/CD e introduzir padrões e capacidades avançadas normalmente reservadas às maiores equipas de desenvolvimento. É seguro e rico em recursos, permanecendo incrivelmente simples, escalável e observável.
Código aberto
O construtor de API de dados é de código aberto e lançado sob a licença MIT. O repositório está disponível no GitHub em azure/data-api-builder.