Condividi tramite


Che cos'è Data API Builder for Azure Databases?

Il generatore di API dati (DAB) fornisce un'API REST su un database. Fornisce anche un'API GraphQL. Supporta non solo SQL Server, ma il database SQL di Azure, Azure Cosmos DB, PostgreSQL, MySQL e SQL Data Warehouse. DAB viene eseguito in qualsiasi cloud o locale ed è open source e gratuito da usare. È un componente sicuro, ricco di funzionalità e un componente fondamentale di Microsoft Fabric, che è un altro modo per dire che è ad alte prestazioni e in grado di gestire operazioni di dati di grandi dimensioni.

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. Richiede zero codice e un singolo file di configurazione. Meglio di tutto, è realmente gratuito, senza un livello premium e può essere eseguito senza stato ovunque.

Illustrazione della mascotte del generatore di API dati, che è un database con un cappello da costruzione con un logo cloud.

Il generatore di API dati è progettato per gli sviluppatori. DAB include un'interfaccia della riga di comando multipiattaforma, Open Telemetry e Health Checks con OpenAPI nativo, Swagger per gli endpoint REST e Nitro (precedentemente denominata Banana Cake Pop) per gli endpoint GraphQL. 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.

Il generatore di API dati supporta contemporaneamente più origini dati back-end, incluse origini relazionali e NoSQL. 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.

DAB si integra in modo nativo con App Web statiche di Azure. Funziona anche in modo ottimale con App Azure Container, Istanze di Azure Container, Servizi Azure Kubernetes e App Web di Azure per contenitori. DAB funziona con questi servizi, supportando al tempo stesso le distribuzioni locali personalizzate.

DAB supporta:

  • SQL Server
  • Azure SQL
  • Azure Cosmos DB per il NoSQL
  • PostgreSQL
  • Database di Azure per PostgreSQL
  • Azure Cosmos DB con PostgreSQL
  • MySQL
  • Database di Azure per MySQL
  • Azure SQL Data Warehouse

DAB può ridurre una codebase tipica di un terzo, eliminare gruppi 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à, pur rimanendo incredibilmente semplice, scalabile e osservabile.

Architettura

Questo diagramma suddivide la relazione tra tutti i componenti del generatore di API dati.

Diagramma che mostra una panoramica dell'architettura di Generatore API dati. Il diagramma include file di schema, astrazioni, file di configurazione e endpoint GraphQL+REST risultanti.

Funzionalità principali

  • Supporto per le raccolte NoSQL
  • Supporto per tabelle relazionali, viste e procedure memorizzate
  • Supportare più origini dati simultanee
  • Supporto per l'autenticazione tramite OAuth2/JWT
  • Supporto per EasyAuth e Microsoft Entra Identity
  • Autorizzazione basata sui ruoli tramite attestazioni ricevute
  • Sicurezza a livello di elemento tramite espressioni di criteri
  • Endpoint REST
    • POST, GET, PUT, PATCH, DELETE
    • Applicazione di filtri, ordinamento e paginazione
    • Cache di memoria
    • Supporto per OpenAPI
  • Endpoint GraphQL
    • Query e mutazioni
    • Applicazione di filtri, ordinamento e paginazione
    • Navigazione tra relazioni
    • Schemi dinamici
  • Sviluppo semplice tramite l'interfaccia della riga di comando dedicata
  • Integrazione per app Web statiche tramite connessione al database
  • Open Source & free

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.