Qu’est-ce que le générateur d’API de données pour Azure Database ?
Le générateur d’API de données remplace toute API personnalisée effectuant des opérations CRUD (Create, Read, Update, Delete) sur une base de données. DAB est multiplateforme, open source et indépendante du langage, de la technologie et des infrastructures. Il ne nécessite aucun code et un seul fichier de configuration. Mieux encore, il est gratuit, sans niveau Premium et peut s’exécuter dans n’importe quel cloud.
Le générateur d’API de données est conçu pour les développeurs. Le générateur d’API de données propose une interface CLI multiplateforme, OpenAPI natif, Swagger pour les points de terminaison REST et Banana Cake Pop pour les points de terminaison GraphQL. Son conteneur sans état et compatible avec Docker peut être sécurisé avec EasyAuth, Microsoft Entra Identity ou n’importe quel serveur JWT (JSON Web Token) choisi par une entreprise. Il dispose d’un moteur de stratégie flexible, de contrôles de sécurité granulaires et transmet automatiquement les données de revendications au contexte de session SQL.
Data API Builder (DAB) prend en charge plusieurs sources de données back-end simultanément, y compris les sources relationnelles et NoSQL. DAB s’intègre également en toute transparence à Application Insights. Le fichier de configuration peut refléter les relations dans la base de données ou définir de nouvelles relations virtuelles. Les points de terminaison GraphQL autorisent plusieurs instructions Create imbriquées au sein d’une même transaction, tandis que les points de terminaison REST offrent une mise en cache en mémoire et prennent en charge les mots clés de chaîne de requête de type OData.
DAB s’intègre en mode natif à Azure Static Web Apps. DAB fonctionne également parfaitement avec Azure Container Apps, Azure Container Instances, Azure Kubernetes Services et Azure Web Apps pour les conteneurs. DAB fonctionne avec ces services tout en prenant entièrement en charge les déploiements locaux personnalisés.
DAB prend en charge :
- SQL Server
- Azure SQL
- Azure Cosmos DB pour NoSQL
- PostgreSQL
- Azure Database pour PostgreSQL
- Azure Cosmos DB pour PostgreSQL
- MySQL
- Azure Database pour MySQL
- Azure SQL Data Warehouse
DAB peut réduire d’un tiers une base de code classique, éliminer les suites de tests unitaires, raccourcir les pipelines CI/CD et introduire des normes et des fonctionnalités avancées généralement réservées aux plus grandes équipes de développement. Il est sécurisé et riche en fonctionnalités tout en restant incroyablement simple, évolutif et observable.
Architecture
Ce diagramme décompose la relation entre tous les composants du générateur d’API de données.
Principales fonctionnalités
- Prise en charge des collections NoSQL
- Prise en charge des tables relationnelles, des vues et des procédures stockées
- Prendre en charge plusieurs sources de données simultanées
- Prise en charge de l’authentification via OAuth2/JWT
- Prise en charge d’EasyAuth et de Microsoft Entra Identity
- Autorisation basée sur les rôles à l’aide de revendications reçues
- Sécurité au niveau de l’élément via des expressions de stratégie
- Points de terminaison REST
- POST, GET, PUT, PATCH, DELETE
- Filtrage, tri et pagination
- Cache en mémoire
- Prise en charge d’OpenAPI
- Points de terminaison GraphQL
- Requêtes et mutations
- Filtrage, tri et pagination
- Navigation des relations
- Schémas dynamiques
- Développement facile via l’interface CLI dédiée
- Intégration pour Static Web Apps via une connexion de base de données
- Open Source & gratuit
Open source
Le générateur d’API de données est open source et publié sous la licence MIT. Le dépôt est disponible sur GitHub à l’adresse azure/data-api-builder.