Explorer le générateur d’API de données pour Azure SQL Database
Dans le monde piloté par les données d’aujourd’hui, la capacité à accéder aux données et à les manipuler avec efficacité est cruciale aussi bien pour les entreprises que pour les développeurs. Le générateur d’API de données (DAB, Data API Builder) offre une solution puissante pour créer des points de terminaison REST et GraphQL modernes pour votre instance Azure SQL Database, en remplaçant les API personnalisées qui effectuent les opérations CRUD (Create, Read, Update, Delete) sur une base de données.
Le générateur d’API de données Azure est un outil open source conçu pour les développeurs dans le but de simplifier le processus d’exposition de vos objets de base de données en tant que points de terminaison. Il prend en charge de nombreuses bases de données, notamment Azure SQL, SQL Server, PostgreSQL et Azure Cosmos DB. Avec DAB, vous pouvez créer des API sécurisées, scalables et hautes performances sans frais supplémentaires et sans écrire de code.
Découvrir les fonctionnalités clés
L’utilisation de DAB dans votre processus de développement offre de nombreux avantages. Voici quelques avantages clés qui peuvent vous aider à déterminer dans quelle mesure il convient aux besoins de votre projet.
- Compatibilité multiplateforme : DAB est multiplateforme et peut s’exécuter sur n’importe quel environnement cloud ou local. Il prend en charge plusieurs sources de données back-end, notamment les bases de données relationnelles et NoSQL.
- Sécurité et authentification : DAB s’intègre à différentes méthodes d’authentification, notamment OAuth2, EasyAuth et Microsoft Entra ID. Il prend également en charge l’authentification basée sur les rôles et des contrôles de sécurité de précision. Cela signifie que vous pouvez exposer vos données tout en gardant le contrôle sur les utilisateurs qui peuvent y accéder et sur ce qu’ils peuvent faire avec ces données.
- Simplicité d’utilisation : Avec un seul fichier de configuration, vous pouvez définir les points de terminaison de vos API, ce qui rend le processus de configuration simple et efficace.
- Intégration aux services Azure : DAB s’intègre sans problème à Azure Static Web Apps, Azure Container Apps et d’autres services Azure, ce qui améliore ses fonctionnalités et sa scalabilité.
Pour voir la liste des fonctionnalités disponibles pour le générateur d’API de données, consultez Disponibilité des fonctionnalités pour le générateur d’API de données.
Utiliser le générateur d’API de données
Pour commencer à utiliser le générateur d’API de données Azure, assurez-vous d’avoir un abonnement Azure et les outils nécessaires installés tels que la dernière version .NET 8 et Azure Developer CLI.
Créez un projet : Utilisez Azure Developer CLI pour créer et déployer les services requis. Par exemple, utilisez Azure Developer CLI pour déployer une application web statique Azure qui héberge le générateur d’API de données. Accédez au répertoire dans lequel vous souhaitez créer votre projet et exécutez la commande suivante pour créer un projet Azure Static Web App.
azd init --template staticwebapp azd upConfigurez la connexion de base de données : Liez votre instance Azure SQL Database à l’application web statique déployée en utilisant la fonctionnalité de connexions de base de données. Accédez à l’application web statique Azure que vous avez créée, puis sous Paramètres, liez une base de données existante sous la page Connexion de base de données.
Définissez les points de terminaison de l’API : Créez un fichier de configuration pour définir vos points de terminaison REST ou GraphQL. Ce fichier spécifie les objets de base de données à exposer et les opérations autorisées. Par exemple, vous pouvez exécuter la commande suivante pour ajouter les entités de base de données au fichier de configuration.
dab add "Address" --source "dbo.Address" --permissions "anonymous:*" --config "swa-db-connections/staticwebapp.database.config.json"
Passer en revue un fichier de configuration
Voici un exemple simple de fichier de configuration pour exposer une table dans votre instance Azure SQL Database.
{
"data-source": {
"database-type": "mssql",
"connection-string": "Server=tcp:your_server.database.windows.net,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
},
"entities": {
"products": {
"source": "Address",
"rest": true,
"graphql": true,
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}
Cette configuration expose la table Address en tant que points de terminaison REST et GraphQL, ce qui permet l’accès en lecture aux utilisateurs anonymes.