Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’extension MSSQL pour Visual Studio Code inclut une interface utilisateur intégrée pour le générateur d’API de données. Vous pouvez donc créer des points de terminaison REST, GraphQL et MCP pour vos tables de base de données SQL sans écrire de fichiers de configuration ou quitter Visual Studio Code. Vous pouvez sélectionner les tables à exposer, configurer des autorisations CRUD, choisir des types d’API, afficher un aperçu de la configuration générée et déployer un back-end local alimenté par le générateur d’API de données, tous à partir d’une interface visuelle.
Conseil / Astuce
Le générateur d’API de données est actuellement en préversion et peut changer en fonction des commentaires. Rejoignez la communauté dans GitHub Discussions pour partager des idées ou signaler des problèmes.
Important
Cette fonctionnalité présente des limitations connues, notamment la prise en charge de l’authentification SQL uniquement pour le déploiement de conteneurs et la compatibilité des types de données restreints. Passez en revue les limitations connues et les problèmes connus avant le déploiement.
Fonctionnalités
L’intégration du générateur d’API de données offre ces fonctionnalités :
- Sélectionnez des entités de base de données (tables) à exposer en tant que points de terminaison d’API, organisées par schéma avec regroupement réductible.
- Configurez les autorisations Créer, Lire, Mettre à jour et Supprimer (CRUD) indépendamment pour chaque entité.
- Choisissez les types d’API à générer : REST, GraphQL, MCP ou toute combinaison.
- Configurez les paramètres d’entité avancés, notamment les chemins REST personnalisés, les noms de types GraphQL personnalisés et les rôles d’autorisation.
- Affichez un aperçu de la configuration JSON du générateur d’API de données générée dans un panneau Définition en lecture seule.
- Déployez localement le générateur d’API de données en tant que conteneur Docker avec des vérifications automatisées des prérequis.
- Testez l’exécution d’API directement dans Visual Studio Code à l’aide du navigateur simple intégré.
- Utilisez le chat GitHub Copilot pour configurer des entités via des prompts en langage naturel.
Prerequisites
Avant d’utiliser le générateur d’API de données, vérifiez que les exigences suivantes sont remplies :
- L’extension MSSQL pour Visual Studio Code est installée. Pour connaître les étapes d’installation, consultez la vue d’ensemble de l’extension MSSQL pour Visual Studio Code .
- Une connexion de base de données active est établie via l’extension MSSQL. Pour connaître les étapes de connexion, consultez Démarrage rapide : Se connecter à une base de données et interroger une base de données avec l’extension MSSQL pour Visual Studio Code.
- Docker Desktop est installé et en cours d’exécution sur votre ordinateur (requis pour le déploiement local).
- (Facultatif) Les extensions GitHub Copilot et GitHub Copilot Chat sont installées pour la configuration d’entité assistée par IA.
Générateur d’API Open Data
Vous pouvez ouvrir la vue de configuration du générateur d’API de données à partir de deux points d’entrée :
Dans l’Explorateur d’objets : cliquez avec le bouton droit sur un nœud de base de données et sélectionnez l’API Générer des données (préversion)...
Dans le Concepteur de schémas : sélectionnez le bouton API Création (bouton en haut à droite de la barre d’outils) ou sélectionnez l’icône back-end dans le volet gauche.
La vue de configuration du générateur d’API de données s’ouvre, affichant vos entités de base de données, les options de type d’API et les contrôles de configuration.
Sélectionner des entités
La vue de sélection d’entité répertorie toutes les tables de votre base de données connectée, regroupées par schéma.
- Chaque ligne de schéma est rétractable et affiche un badge avec le nombre indiquant combien d’entités sont activées (par exemple, « 3/5 »).
- Cochez une case au niveau du schéma pour activer toutes les entités de ce schéma. La case à cocher prend en charge la sélection à trois états : tout, aucun ou mixte.
- Chaque ligne d’entité affiche : la case à cocher d'activation, le nom de l’entité, la table source, les cases CRUD, et un bouton de paramètres.
- La désactivation d’une entité grise sa ligne et désactive les cases à cocher CRUD et le bouton paramètres.
Utilisez la zone de filtre en haut pour rechercher des entités par nom, schéma ou table source. Le filtre ne respecte pas la casse, et le nombre activé est mis à jour sur la base des résultats filtrés.
Configurer les autorisations et les types d’API
Autorisations CRUD
Activez les cases à cocher Créer, Lire, Mettre à jour et Supprimer individuellement pour chaque entité. Les cases CRUD au niveau de l’en-tête basculent cette action pour toutes les entités activées et prennent en charge la sélection tri-état.
Sélection du type d’API
En haut de la vue de configuration, sélectionnez les types d’API à générer :
- API REST : génère des points de terminaison REST avec l’interface utilisateur Swagger à des fins de test.
- GraphQL : génère des points de terminaison GraphQL avec le terrain de jeu Nitro GraphQL.
- MCP (Preview) : génère des points de terminaison du protocole de contexte de modèle.
- Tout : sélectionne ou désélectionne tous les types d’API.
Sélectionnez au moins un type d’API.
Configuration avancée des entités
Sélectionnez l’icône d’engrenage sur une ligne d’entité pour ouvrir la boîte de dialogue Configuration d’entité avancée , où vous pouvez configurer :
- Nom de l’entité : nom utilisé dans les itinéraires et réponses d’API (par défaut, le nom de la table).
- Rôle d’autorisation : basculer entre Anonyme (aucune authentification requise) et Authentifié (nécessite l’authentification de l’utilisateur).
-
Chemin REST personnalisé : remplacement facultatif pour le chemin d’accès par défaut
api/entityName. - Type GraphQL personnalisé : remplacement facultatif pour le nom de type GraphQL par défaut.
Sélectionnez Appliquer les modifications pour enregistrer votre configuration ou Annuler pour ignorer.
Configuration en préversion
Sélectionnez le bouton Afficher la configuration dans la barre d’outils pour ouvrir le panneau Définition en bas de l’affichage de configuration. Ce panneau affiche le fichier de configuration JSON du générateur d’API de données généré dans un format en lecture seule.
Panneau Définition :
- Reflète la sélection actuelle de l’entité, les types d’API et les paramètres avancés.
- Reste synchronisé avec l’interface utilisateur et la conversation GitHub Copilot : les modifications apportées à l’un ou l’autre emplacement mettent immédiatement à jour la préversion.
- Inclut uniquement les entités activées dans la sortie de configuration.
- Affiche les sections d’exécution REST, GraphQL et MCP en fonction des types d’API sélectionnés.
Sélectionnez Ouvrir dans l’éditeur pour afficher la configuration dans un onglet complet de l’éditeur Visual Studio Code. Sélectionnez Copier pour copier la configuration dans le Presse-papiers.
Déployer localement avec Docker
Le générateur d’API de données se déploie en tant que conteneur Docker local. L’Assistant Déploiement vous guide tout au long du processus :
Sélectionnez le bouton Déployer dans la barre d’outils.
La boîte de dialogue Déployer un conteneur DAB s’ouvre, décrivant le déploiement du conteneur local. Cliquez sur Suivant.
L’écran Préparation de Docker exécute les vérifications des prérequis séquentiellement :
- Vérification de l’installation de Docker : vérifie que Docker est installé sur votre système.
- Démarrage de Docker Desktop : garantit que Docker Desktop est en cours d’exécution.
- Vérification du moteur Docker : vérifie que le moteur Docker est prêt.
Sélectionnez Suivant pour continuer une fois que toutes les vérifications sont terminées.
L’écran Paramètres du conteneur s’affiche :
- Nom du conteneur : nom facultatif pour le conteneur Docker (une valeur par défaut générée automatiquement est fournie).
-
Port : port sur lequel exposer l’API (valeur par défaut :
5000). - Le conteneur réutilise la chaîne de connexion à partir de la connexion de base de données active.
Sélectionnez Créer un conteneur.
Le déploiement exécute trois étapes séquentiellement : télécharger l'image, démarrer le conteneur, et vérifier la disponibilité.
Lors du déploiement réussi, l’Assistant affiche les URL de point de terminaison pour chaque type d’API activé :
Type de l’API Point de terminaison Action REST http://localhost:{port}/apiAfficher Swagger ouvre l’interface utilisateur Swagger GraphQL http://localhost:{port}/graphqlNitro ouvre le terrain de jeu GraphQL MCP http://localhost:{port}/mcpAjouter à VS Code écrit la configuration du serveur MCP dans .vscode/mcp.jsonSélectionnez n’importe quel lien pour ouvrir l’interface de test dans le navigateur simple intégré de Visual Studio Code.
L’exemple suivant montre l’interface utilisateur Swagger pour tester les points de terminaison REST directement dans Visual Studio Code :
L’exemple suivant montre le terrain de jeu Nitro GraphQL pour tester les requêtes et mutations GraphQL :
Tester l’API en cours d’exécution
Après le déploiement, vous pouvez tester vos API directement à partir de la boîte de dialogue d’achèvement du déploiement à l’aide du navigateur simple intégré de Visual Studio Code.
API REST
Sélectionnez Afficher Swagger pour ouvrir l’interface utilisateur Swagger, interface visuelle interactive permettant d’explorer et de tester les points de terminaison REST. Vous pouvez parcourir les entités disponibles, afficher les schémas de demande et de réponse, et exécuter directement des appels d’API.
Le générateur d’API de données génère les points de terminaison REST suivants pour chaque entité activée :
| Méthode | Point de terminaison | Description |
|---|---|---|
GET |
/api/{entity} |
Répertorier tous les enregistrements d’une entité |
GET |
/api/{entity}/{primaryKey}/{value} |
Obtenir un enregistrement unique par clé primaire |
POST |
/api/{entity} |
Créer un nouvel enregistrement |
PUT |
/api/{entity}/{primaryKey}/{value} |
Remplacer un enregistrement existant |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Mettre à jour des champs spécifiques sur un enregistrement |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Supprimer un enregistrement |
Pour plus d’informations sur les points de terminaison REST, consultez l’API REST du générateur d’API de données.
GraphQL
Sélectionnez Nitro pour ouvrir le terrain de jeu Nitro GraphQL, où vous pouvez écrire et tester des requêtes graphQL et des mutations interactives.
Pour plus d’informations sur les points de terminaison GraphQL, consultez l’API GraphQL du générateur d’API de données.
MCP
Sélectionnez Ajouter à VS Code pour écrire la configuration du serveur MCP dans .vscode/mcp.json. Cette configuration rend le point de terminaison du générateur d’API de données disponible en tant que serveur MCP dans Visual Studio Code. Les outils IA tels que GitHub Copilot peuvent ensuite interagir avec votre base de données via l’API Générateur d’API de données.
Pour plus d’informations sur MCP dans Visual Studio Code, consultez Utiliser des serveurs MCP dans Visual Studio Code.
Test de terminal
Vous pouvez également tester des points de terminaison à partir du terminal :
API REST :
Obtenez tous les enregistrements d’une entité spécifique :
curl http://localhost:{port}/api/{entityName}
Créez un enregistrement (si l’autorisation Créer est activée) :
curl -X POST http://localhost:{port}/api/{entityName} \
-H "Content-Type: application/json" \
-d '{"Column1": "Value1", "Column2": "Value2"}'
GraphQL :
curl -X POST http://localhost:{port}/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ {entityName} { items { Column1 Column2 } } }"}'
Conseil / Astuce
Remplacez {port} par le port que vous avez configuré pendant le déploiement (par défaut : 5000).
Intégration de GitHub Copilot
Pour les développeurs qui préfèrent le langage naturel, GitHub Copilot est intégré à l’expérience du générateur d’API de données. Sélectionnez le bouton Conversation dans la barre d’outils pour ouvrir une session de conversation GitHub Copilot limitée au contexte de configuration du générateur d’API de données. GitHub Copilot et l’interface utilisateur restent synchronisés : les modifications apportées par le biais d’une conversation sont immédiatement reflétées dans l’interface utilisateur et inversement.
Voici quelques exemples d’invites :
"Enable all SalesLT entities for read operations""Expose only the Customer and Product tables with full CRUD permissions""Set all entities in the dbo schema to read-only""Disable the BuildVersion and ErrorLog entities""Can you also enable MCP for the Data API builder API?"
L’exemple suivant montre GitHub Copilot activant des entités et configurant des autorisations CRUD via une invite de conversation :
L’exemple suivant montre GitHub Copilot activant les points de terminaison MCP pour la configuration du générateur d’API de données :
Note
L’intégration de GitHub Copilot nécessite que les extensions GitHub Copilot et GitHub Copilot Chat soient installées et connectées. Pour obtenir des instructions d’installation, consultez Configurer GitHub Copilot.
Limitations connues
- Tables uniquement : l’interface utilisateur de configuration prend uniquement en charge les tables. Les vues et les procédures stockées ne sont pas disponibles dans le concepteur pour l’instant.
- Docker Desktop requis : le déploiement local nécessite l’installation et l’exécution de Docker Desktop.
-
Authentification SQL uniquement : les conteneurs Docker locaux ne prennent pas en charge les méthodes d’authentification Microsoft Entra ID, telles que
ActiveDirectoryInteractive, car l’environnement de conteneur ne peut pas ouvrir un navigateur pour le flux de connexion interactive. L’extension affiche une notification si votre connexion actuelle utilise un type d’authentification non pris en charge. - La base de données SQL dans Microsoft Fabric n’est pas prise en charge : la base de données SQL dans Microsoft Fabric nécessite l’authentification Microsoft Entra exclusivement et ne prend pas en charge l’authentification SQL. Étant donné que le déploiement de conteneur local nécessite une authentification SQL, le déploiement sur une base de données SQL dans Fabric n’est pas un scénario viable.
- Clé primaire requise : chaque entité de table exposée via le générateur d’API de données doit avoir une contrainte de clé primaire définie au niveau de la base de données. Les tables sans clé primaire provoquent l’échec du moteur du générateur d’API de données au démarrage.
- La sortie générée par l’IA doit être examinée : GitHub Copilot peut produire des configurations incorrectes ou non optimales. Passez toujours en revue les configurations générées avant le déploiement.
Problèmes connus
-
Types de données SQL Server non pris en charge : le générateur d’API de données ne peut pas sérialiser certains types de données SQL Server. Les tables contenant des colonnes avec des types non pris en charge peuvent entraîner l’échec du moteur au démarrage. Les types non pris en charge incluent
geography, ,geometryhierarchyid,rowversion,sql_variant, etxml. L'extension marque les entités affectées avec une icône d’avertissement et les empêche d’être sélectionnées pour le déploiement. Pour obtenir les informations les plus récentes sur la prise en charge des types de données, consultez le problème GitHub #3181. - Authentification interactive de l’ID Microsoft Entra non prise en charge pour le déploiement de conteneur : le conteneur du générateur d’API de données ne peut pas effectuer d’authentification Microsoft Entra interactive. Les connexions utilisant des méthodes d’ID Microsoft Entra interactives sont bloquées avec une notification. Pour plus d’informations, consultez le problème GitHub #3246.
- MCP est en préversion : l’expérience MCP du générateur d’API de données est actuellement en préversion. Pour plus d’informations, consultez La préversion du générateur d’API de données MCP.
Commentaires et support
Si vous avez des idées, des commentaires ou souhaitez vous engager avec la communauté, rejoignez la discussion à l’adresse https://aka.ms/vscode-mssql-discussions. Pour signaler un bogue, visitez https://aka.ms/vscode-mssql-bug. Pour demander une nouvelle fonctionnalité, accédez à https://aka.ms/vscode-mssql-feature-request.
Contenu connexe
- Qu’est-ce que le générateur d’API de données ?
- Documentation du générateur d’API de données
- Extension GitHub Copilot pour MSSQL pour Visual Studio Code
- Concepteur de schémas
- Intégration de GitHub Copilot dans le Concepteur de schémas (préversion)
- Démarrage rapide : Se connecter à une base de données et l’interroger avec l’extension MSSQL pour Visual Studio Code
- Conteneur SQL Server local
- Documentation Visual Studio Code
- Extension MSSQL pour le référentiel Visual Studio Code sur GitHub