Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
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.
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.
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.
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
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.