Condividi tramite


Che cos'è Data API Builder for Azure Databases?

Il generatore di API dati (DAB) è un motore open source basato sulla configurazione che crea API REST e GraphQL per database supportati, ad esempio SQL Server, Azure Cosmos DB, PostgreSQL e MySQL. DAB viene eseguito in qualsiasi cloud o locale ed è gratuito da usare. È possibile configurarlo usando un singolo file JSON, in modo da poter esporre oggetti di database senza scrivere un'API personalizzata.

Illustrazione della mascotte del generatore di API dati che indossa un cappello da costruzione.

Il generatore di API dati sostituisce la maggior parte delle API dati personalizzate che eseguono operazioni CRUD generiche (Create, Read, Update, Delete) su un database. DAB è indipendente dal linguaggio, dalla tecnologia e dal framework. Non richiede codice dell'applicazione e un singolo file di configurazione. Meglio di tutto, è realmente gratuito, senza un livello premium e può essere eseguito senza stato ovunque.

Supporto degli endpoint

Il generatore di API dati supporta endpoint REST e GraphQL predefiniti e contemporaneamente. Con la versione 1.7 e successive, DAB supporta anche Il protocollo MCP (Model Context Protocol) per le app agente con le stesse funzionalità avanzate.

Diagramma del supporto degli endpoint in Generatore API dati.

DAB include una CLI multipiattaforma, OpenTelemetry e verifiche dello stato di salute. Supporta anche OpenAPI e Swagger per gli endpoint REST e Nitro (precedentemente denominati Banana Cake Pop) per gli endpoint GraphQL.

Suggerimento

Funzionalità integrate dell'endpoint:

  • Paginazione dei dati
  • Filtro dei dati
  • Ordinamento dei dati
  • Selezione colonna
  • Procedure memorizzate
  • Navigazione tra relazioni

Supporto del database

Il generatore di API dati supporta contemporaneamente più origini dati back-end, incluse origini relazionali e NoSQL. I database supportati includono SQL Server e Azure SQL, Azure Cosmos DB, PostgreSQL e MySQL. Per informazioni dettagliate e limitazioni in base al database, vedere Funzionalità specifiche del database.

Diagramma dei database supportati per Il generatore di API dati.

Il generatore di API dati può connettersi a più origini dati contemporaneamente. È possibile combinare origini relazionali con database JSON o documenti e combinare database cloud e locali. Questa flessibilità consente a DAB di supportare tutto, dalle semplici configurazioni alle topologie di distribuzione complesse.

Security

Il contenitore compatibile con Docker senza stato può essere protetto con EasyAuth, Microsoft Entra Identity o qualsiasi server JWT (JSON Web Token) scelto da un'organizzazione. Ha un motore di criteri flessibile, controlli di sicurezza granulari e passa automaticamente i dati delle attestazioni al contesto della sessione SQL.

Diagramma delle opzioni di autenticazione per Generatore API dati.

Architettura

Questo diagramma suddivide la relazione tra tutti i componenti del generatore di API dati. Inizia con lo schema del database, che definisce tabelle, viste e stored procedure. Il file di configurazione DAB proietta questi oggetti in un livello di astrazione. In tale livello si assegnano un nome alle entità, si selezionano o si specificano campi alias, si definiscono le relazioni e si applicano le autorizzazioni. In fase di esecuzione, Il generatore di API dati legge questa configurazione per generare una superficie API coerente, esponendo lo stesso modello di entità tramite endpoint REST e GraphQL. Questa separazione consente di evolvere il database in modo indipendente mantenendo un contratto stabile e sicuro per applicazioni e client.

Diagramma dell'architettura del generatore di API dati.

Configurare Il generatore di API dati con un singolo file JSON. Nel file, definisci:

  • Modalità di connessione del server alle origini dati
  • Quali tabelle, viste e stored procedure vengono esposte
  • Come vengono modellate, denominate e correlate le entità
  • Quali ruoli sono autorizzati ad accedere a ogni operazione

Opzioni di distribuzione

Diagramma delle opzioni di hosting dei contenitori per Generatore API dati.

DAB funziona in modo ottimale con App Azure Container, Istanze di Azure Container, servizio Azure Kubernetes e App Web di Azure per contenitori. DAB funziona con questi servizi, supportando al tempo stesso le distribuzioni locali personalizzate.

Integrazioni e funzionalità

DAB si integra anche perfettamente con Application Insights. Il file di configurazione può riflettere le relazioni nel database o definirne di nuove, virtuali con supporto per il ricaricamento rapido. Gli endpoint GraphQL consentono diverse istruzioni di creazione nidificate all'interno di un'unica transazione, mentre gli endpoint REST includono la memorizzazione nella cache in memoria e un supporto avanzato per le parole chiave nelle stringhe di query simili a quelle di OData.

Meno codice, più funzionalità

DAB consente di ridurre il codice API personalizzato, abbreviare le pipeline CI/CD e introdurre standard e funzionalità avanzate in genere riservate ai team di sviluppo più grandi. È sicuro e ricco di funzionalità, pur rimanendo incredibilmente semplice, scalabile e osservabile.

Open source

Il generatore di API dati è open source e rilasciato con la licenza MIT. Il repository è disponibile in GitHub in azure/data-api-builder.