Che cos'è Generatore API dati per database di Azure?
Generatore API dati sostituisce qualsiasi API personalizzata che esegue operazioni CRUD (Create, Read, Update, Delete) su un database. DAB è multipiattaforma, open source e indipendentemente dal linguaggio, dalla tecnologia e dai framework. Richiede zero codice e un singolo file di configurazione. Meglio di tutto, è gratuito, senza alcun livello Premium e può essere eseguito in qualsiasi cloud.
Generatore API dati è progettato per gli sviluppatori. Generatore API dati offre un'interfaccia della riga di comando multipiattaforma, OpenAPI nativa, Swagger per gli endpoint REST e Banana Cake Pop per gli endpoint GraphQL. È possibile proteggere il contenitore senza stato Docker con EasyAuth, Microsoft Entra Identity o qualsiasi server JSON Web Token (JWT) 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.
Generatore API dati (DAB) supporta più origini dati back-end contemporaneamente, incluse origini relazionali e NoSQL. DAB integra anche facilmente Application Insights. Il file di configurazione può riflettere le relazioni nel database o definire quelle virtuali nuove. Gli endpoint GraphQL consentono più istruzioni Create nidificate all'interno di una singola transazione, mentre gli endpoint REST dispongono di memorizzazione nella cache nella memoria e supportano parole chiave stringa di query OData simili a OData.
DAB si integra in modo nativo con App Web statiche di Azure. DAB funziona anche con app Azure Container, istanze di Azure Container, Servizi Azure Kubernetes e App Web di Azure per contenitori. DAB funziona con questi servizi, supportando completamente le distribuzioni personalizzate e locali.
DAB supporta:
- SQL Server
- SQL di Azure
- Azure Cosmos DB for NoSQL
- PostgreSQL
- Database di Azure per PostgreSQL
- Azure Cosmos DB for PostgreSQL
- MySQL
- Database di Azure per MySQL
- Azure SQL Data Warehouse
DAB può ridurre una codebase tipica per un terzo, eliminare suite di unit test, 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à, mentre rimane incredibilmente semplice, scalabile e osservabile.
Architettura
Questo diagramma suddivide la relazione tra tutti i componenti del generatore API dati.
Funzionalità principali
- Supporto per le raccolte NoSQL
- Supporto per tabelle relazionali, viste e stored procedure
- Supportare più origini dati simultanee
- Supporto per l'autenticazione tramite OAuth2/JWT
- Supporto per EasyAuth e Microsoft Entra Identity
- Autorizzazione basata sul ruolo tramite attestazioni ricevute
- Sicurezza a livello di elemento tramite espressioni di criteri
- Endpoint REST
- POST, GET, PUT, PATCH, DELETE
- Filtro, ordinamento e impaginazione
- Cache in memoria
- Supporto per OpenAPI
- Endpoint GraphQL
- Query e mutazioni
- Filtro, ordinamento e impaginazione
- Spostamento delle relazioni
- Schemi dinamici
- Sviluppo semplice tramite l'interfaccia della riga di comando dedicata
- Integrazione per app Web statiche tramite connessione al database
- Open Source & gratuito
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.