Freigeben über


Was ist der Daten-API-Generator für Azure-Datenbanken?

Der Daten-API-Generator (DAB) stellt eine REST-API über eine Datenbank bereit. Außerdem stellt sie eine GraphQL-API bereit. Es unterstützt nicht nur SQL Server, sondern Azure SQL-Datenbank, Azure Cosmos DB, PostgreSQL, MySQL und SQL Data Warehouse. DAB wird in einer beliebigen Cloud oder lokalen Bereitstellung ausgeführt, und es ist Open Source und kann kostenlos verwendet werden. Es ist sicher, funktionsreich und eine grundlegende Komponente von Microsoft Fabric – eine andere Möglichkeit, zu sagen, dass es hochleistungsfähig und in der Lage ist, massive Datenvorgänge zu verarbeiten.

Der Daten-API-Generator ersetzt die meisten benutzerdefinierten Daten-APIs, die generische CRUD-Vorgänge (Create, Read, Update, Delete) für eine Datenbank ausführen. DAB ist unabhängig von Sprache, Technologie und Framework. Sie erfordert Nullcode und eine einzelne Konfigurationsdatei. Das Beste von allem ist, dass es wirklich kostenlos ist, kein Premium Tier hat und überall statuslos ausgeführt werden kann.

Abbildung des Daten-API-Generator-Maskottchens, bei dem es sich um eine Datenbank mit einer Konstruktionsmaske mit einem Cloudlogo handelt.

Der Daten-API-Generator wurde für Entwickler entwickelt. DAB bietet eine plattformübergreifende CLI, Open Telemetry und Integritätsprüfungen mit nativer OpenAPI, Swagger für REST-Endpunkte und Nitro (früher Banana Cake Pop genannt) für GraphQL-Endpunkte. Sein zustandsloser, dockerfreundlicher Container kann mit EasyAuth, Microsoft Entra Identity oder einem beliebigen JSON Web Token (JWT)-Server gesichert werden, den ein Unternehmen auswäht. Es verfügt über eine flexible Richtlinie-Engine, granulare Kontrollen und leitet Anspruchsdaten automatisch an den SQL-Sitzungskontext weiter.

Der Daten-API-Generator (DAB) unterstützt mehrere Back-End-Datenquellen gleichzeitig, einschließlich relationaler und NoSQL-Quellen. DAB integriert sich auch nahtlos in Application Insights. Die Konfigurationsdatei kann Beziehungen in der Datenbank widerspiegeln oder neue, virtuelle Beziehungen definieren, die Unterstützung für Hot-Reloading bietet. GraphQL-Endpunkte bieten die Möglichkeit, mehrere verschachtelte Create-Anweisungen innerhalb einer einzigen Transaktion zu erstellen, während REST-Endpunkte eine in-memory Zwischenspeicherung und umfassenden Support für OData-ähnliche Zeichenfolgen für Abfragen bieten.

DAB ist nativ in Azure Static Web Apps integriert. Es eignet sich auch hervorragend für Azure-Container-Apps, Azure-Containerinstanzen, Azure Kubernetes Services und Azure Web Apps für Container. DAB funktioniert mit diesen Diensten, während benutzerdefinierte lokale Bereitstellungen vollständig unterstützt werden.

DAB unterstützt:

  • SQL Server
  • Azure SQL
  • Azure Cosmos DB für NoSQL-Datenbanklösungen
  • PostgreSQL
  • Azure-Datenbank für PostgreSQL
  • Azure Cosmos DB für PostgreSQL
  • MySQL
  • Azure-Datenbank für MySQL
  • Azure SQL Data Warehouse

DAB kann eine typische Codebasis um ein Drittel reduzieren, Komponententests beseitigen, CI/CD-Pipelines verkürzen und Standards und erweiterte Funktionen einführen, die in der Regel für die größten Entwicklungsteams reserviert sind. Es ist sicher und funktionsreich und bleibt unglaublich einfach, skalierbar und feststellbar.

Architektur

Dieses Diagramm bricht die Beziehung zwischen allen Komponenten des Daten-API-Generators auf.

Diagramm, das eine Übersicht über die Architektur des Daten-API-Generators zeigt. Das Diagramm enthält Schemadateien, Abstraktionen, Konfigurationsdateien und resultierende GraphQL+REST-Endpunkte.

Wichtige Merkmale

  • Unterstützung für NoSQL-Auflistungen
  • Unterstützung für relationale Tabellen, Ansichten und gespeicherte Prozeduren
  • Unterstützung mehrerer, gleichzeitiger Datenquellen
  • Unterstützung für die Authentifizierung über OAuth2/JWT
  • Unterstützung für EasyAuth und Microsoft Entra Identity
  • Rollenbasierte Autorisierung mithilfe empfangener Claims
  • Sicherheit auf Elementebene über Richtlinienausdrücke
  • REST-Endpunkte
    • POST, GET, PUT, PATCH, DELETE
    • Filtern, Sortieren und Paginieren
    • In-Memory-Cache
    • Unterstützung für OpenAPI
  • GraphQL-Endpunkte
    • Abfragen und Mutationen
    • Filtern, Sortieren und Paginieren
    • Beziehungsnavigation
    • Dynamische Schemas
  • Einfache Entwicklung über dedizierte CLI
  • Integration für statische Web Apps über Datenbankverbindung
  • Open Source & kostenlos

Open Source

Der Daten-API-Generator ist Open Source und wird unter der MIT-Lizenz veröffentlicht. Das Repository ist auf GitHub unter azure/data-api-builder verfügbar.