Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die MSSQL-Erweiterung für Visual Studio Code enthält eine integrierte Benutzeroberfläche für den Daten-API-Generator, sodass Sie REST-, GraphQL- und MCP-Endpunkte für Ihre SQL-Datenbanktabellen erstellen können, ohne Konfigurationsdateien zu schreiben oder Visual Studio Code zu verlassen. Sie können auswählen, welche Tabellen verfügbar gemacht werden sollen, CRUD-Berechtigungen konfigurieren, API-Typen auswählen, eine Vorschau der generierten Konfiguration anzeigen und ein lokales Back-End bereitstellen, das vom Daten-API-Generator unterstützt wird, alles über eine visuelle Schnittstelle.
Tipp
Der Daten-API-Generator befindet sich derzeit in der Vorschau und kann sich je nach Feedback ändern. Treten Sie der Community bei GitHub-Diskussionen bei, um Ideen zu teilen oder Probleme zu melden.
Von Bedeutung
Dieses Feature weist bekannte Einschränkungen auf, einschließlich der reinen SQL-Authentifizierungsunterstützung für die Containerbereitstellung und der Kompatibilität eingeschränkter Datentypen. Überprüfen Sie bekannte Einschränkungen und bekannte Probleme vor der Bereitstellung.
Funktionen
Die Integration des Daten-API-Generators bietet folgende Funktionen:
- Wählen Sie Datenbankentitäten (Tabellen) aus, die als API-Endpunkte verfügbar gemacht werden sollen, organisiert nach Schema mit reduzierbarer Gruppierung.
- Konfigurieren Sie die Berechtigungen "Create", "Read", "Update" und "Delete" (CRUD) unabhängig für jede Entität.
- Wählen Sie API-Typen aus, die generiert werden sollen: REST, GraphQL, MCP oder eine beliebige Kombination.
- Konfigurieren Sie erweiterte Entitätseinstellungen, einschließlich benutzerdefinierter REST-Pfade, benutzerdefinierter GraphQL-Typnamen und Autorisierungsrollen.
- Zeigen Sie eine Vorschau der generierten JSON-Konfiguration des Daten-API-Generators in einem schreibgeschützten Definitionspanel an.
- Stellen Sie Data API builder lokal als Docker-Container mit automatisierten Prüfungen der Voraussetzungen bereit.
- Testen Sie die Ausführung von APIs direkt in Visual Studio Code mithilfe des integrierten einfachen Browsers.
- Verwenden Sie Den GitHub Copilot-Chat, um Entitäten über Sprachaufforderungen zu konfigurieren.
Voraussetzungen
Bevor Sie den Daten-API-Generator verwenden, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:
- Die MSSQL-Erweiterung für Visual Studio Code wird installiert. Installationsschritte finden Sie in der Übersicht über die MSSQL-Erweiterung für Visual Studio Code .
- Eine aktive Datenbankverbindung wird über die MSSQL-Erweiterung hergestellt. Verbindungsschritte finden Sie in der Schnellstartanleitung: Herstellen einer Verbindung mit einer Datenbank mit der MSSQL-Erweiterung für Visual Studio Code.
- Docker Desktop wird auf Ihrem Computer installiert und ausgeführt (erforderlich für die lokale Bereitstellung).
- (Optional) GitHub Copilot und GitHub Copilot Chat-Erweiterungen werden für die KI-unterstützte Entitätskonfiguration installiert.
Open Data API-Ersteller
Sie können die Konfigurationsansicht des Daten-API-Generators über zwei Einstiegspunkte öffnen:
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Datenbankknoten, und wählen Sie "Build Data API (Vorschau)..." aus.
Wählen Sie im Schema-Designer die Schaltfläche "Design-API" (Schaltfläche in der oberen rechten Ecke der Symbolleiste) aus, oder wählen Sie das Back-End-Symbol im linken Bereich aus.
Die Konfigurationsansicht des Daten-API-Generators wird geöffnet, wobei Ihre Datenbankentitäten, API-Typoptionen und Konfigurationssteuerelemente angezeigt werden.
Entitäten auswählen
In der Entitätsauswahlansicht werden alle Tabellen aus der verbundenen Datenbank aufgelistet, gruppiert nach Schema.
- Jede Schemazeile ist reduzierbar und zeigt ein Anzahlsignal an, das angibt, wie viele Entitäten aktiviert sind (z. B. "3/5").
- Aktivieren Sie ein Kontrollkästchen auf Schemaebene, um alle Entitäten in diesem Schema umzuschalten. Das Kontrollkästchen unterstützt die Auswahl mit drei Status: alle, keine oder gemischt.
- Jede Entitätszeile zeigt: das Kontrollkästchen "Aktivieren", den "Entitätsnamen", die "Quelltabelle", die "CRUD"-Kontrollkästchen und eine "Einstellungen"-Schaltfläche.
- Durch Deaktivieren einer Entität wird die Zeile abgeblendet und die CRUD-Kontrollkästchen sowie die Einstellungsschaltfläche deaktiviert.
Verwenden Sie das Filterfeld oben, um Entitäten nach Name, Schema oder Quelltabelle zu durchsuchen. Bei dem Filter wird die Groß-/Kleinschreibung nicht beachtet, und die Anzahl der aktivierten Elemente wird basierend auf den gefilterten Ergebnissen aktualisiert.
Konfigurieren von Berechtigungen und API-Typen
CRUD-Berechtigungen
Aktivieren Sie einzelne Kontrollkästchen "Erstellen", " Lesen", "Aktualisieren" und " Löschen " für jede Entität. Die CRUD-Kontrollkästchen auf der Kopfzeilenebene aktivieren diese Aktion, um sie auf alle aktivierten Entitäten anzuwenden, und unterstützen die Auswahl des Tristatus.
API-Typauswahl
Wählen Sie oben in der Konfigurationsansicht die zu generierenden API-Typen aus:
- REST-API: Generiert REST-Endpunkte mit Swagger UI zum Testen.
- GraphQL: Generiert GraphQL-Endpunkte mit Nitro GraphQL-Playground.
- MCP (Vorschau): Generiert Endpunkte des Modellkontextprotokolls.
- Alle: Wählt alle API-Typen aus oder deaktiviert sie.
Wählen Sie mindestens einen API-Typ aus.
Erweiterte Entitätskonfiguration
Wählen Sie das Zahnradsymbol in einer Entitätszeile aus, um das Dialogfeld "Erweiterte Entitätskonfiguration " zu öffnen, in dem Sie Folgendes konfigurieren können:
- Entitätsname: Der name, der in API-Routen und -Antworten verwendet wird (standardmäßig der Tabellenname).
- Autorisierungsrolle: Umschalten zwischen anonym (keine Authentifizierung erforderlich) und authentifiziert (erfordert Benutzerauthentifizierung).
-
Benutzerdefinierter REST-Pfad: Optionale Außerkraftsetzung für den Standardpfad
api/entityName. - Benutzerdefinierter GraphQL-Typ: Optionale Außerkraftsetzung für den Standardmäßigen GraphQL-Typnamen.
Wählen Sie "Änderungen übernehmen" aus, um Ihre Konfiguration zu speichern, oder "Abbrechen ", um sie zu verwerfen.
Vorschaukonfiguration
Wählen Sie in der Symbolleiste die Schaltfläche " Ansichtskonfiguration" aus, um den Bereich "Definition " am unteren Rand der Konfigurationsansicht zu öffnen. In diesem Bereich wird die generierte JSON-Konfigurationsdatei des Data API builders im schreibgeschützten Modus angezeigt.
Das Definitions-Bedienfeld:
- Gibt die aktuelle Entitätsauswahl, API-Typen und erweiterte Einstellungen wieder.
- Bleibt mit der Benutzeroberfläche und dem GitHub Copilot-Chat synchronisiert: Änderungen, die in beiden Schnittstellen vorgenommen werden, aktualisieren sofort die Vorschau.
- Enthält nur aktivierte Entitäten in der Konfigurationsausgabe.
- Zeigt REST-, GraphQL- und MCP-Laufzeitabschnitte basierend auf ausgewählten API-Typen an.
Wählen Sie "Im Editor öffnen " aus, um die Konfiguration auf einer vollständigen Registerkarte des Visual Studio Code-Editors anzuzeigen. Wählen Sie "Kopieren" aus, um die Konfiguration in die Zwischenablage zu kopieren.
Lokal mit Docker bereitstellen
Der Daten-API-Generator wird als lokaler Docker-Container bereitgestellt. Der Bereitstellungs-Assistent führt Sie durch den Vorgang:
Wählen Sie die Schaltfläche "Bereitstellen " in der Symbolleiste aus.
Das Dialogfeld "DAB-Container bereitstellen " wird geöffnet, in dem die lokale Containerbereitstellung beschrieben wird. Wählen Sie Weiteraus.
Der Bildschirm "Vorbereiten von Docker" führt die erforderlichen Prüfungen sequenziell aus:
- Überprüfen der Docker-Installation: Überprüft, ob Docker auf Ihrem System installiert ist.
- Starten von Docker Desktop: Stellt sicher, dass Docker Desktop ausgeführt wird.
- Überprüfen des Docker-Moduls: Überprüft, ob das Docker-Modul bereit ist.
Wählen Sie "Weiter" aus, um fortzufahren, sobald alle Prüfungen abgeschlossen sind.
Der Bildschirm "Containereinstellungen" wird angezeigt:
- Containername: Optionaler Name für den Docker-Container (ein automatisch generierter Standardwert wird bereitgestellt).
-
Port: Der Port zum Verfügbarmachen der API (Standard:
5000). - Der Container verwendet die Verbindungszeichenfolge aus der aktiven Datenbankverbindung wieder.
Wählen Sie "Container erstellen" aus.
Die Bereitstellung führt drei Schritte sequenziell aus: Image ziehen, Container starten und die Bereitschaft überprüfen.
Bei erfolgreicher Bereitstellung zeigt der Assistent die Endpunkt-URLs für jeden aktivierten API-Typ an:
API-Typ Endpunkt Action PAUSE http://localhost:{port}/apiSwagger anzeigen öffnet die Swagger UI GraphQL http://localhost:{port}/graphqlNitro öffnet den GraphQL-Spielplatz MCP http://localhost:{port}/mcpHinzufügen zu VS Code schreibt die MCP-Serverkonfiguration in .vscode/mcp.jsonWählen Sie einen beliebigen Link aus, um die Testschnittstelle im integrierten einfachen Browser von Visual Studio Code zu öffnen.
Das folgende Beispiel zeigt die Swagger-Benutzeroberfläche zum Testen von REST-Endpunkten direkt in Visual Studio Code:
Das folgende Beispiel zeigt den Nitro GraphQL-Playground zum Testen von GraphQL-Abfragen und Mutationen:
Testen der ausgeführten API
Nach der Bereitstellung können Sie Ihre APIs direkt über das Dialogfeld zum Abschluss der Bereitstellung testen, indem Sie den integrierten einfachen Browser von Visual Studio Code verwenden.
REST API
Wählen Sie "Swagger anzeigen " aus, um die Swagger-Benutzeroberfläche zu öffnen, eine interaktive visuelle Schnittstelle zum Erkunden und Testen von REST-Endpunkten. Sie können verfügbare Entitäten durchsuchen, Anforderungs- und Antwortschemas anzeigen und API-Aufrufe direkt ausführen.
Der Daten-API-Generator generiert die folgenden REST-Endpunkte für jede aktivierte Entität:
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET |
/api/{entity} |
Auflisten aller Datensätze für eine Entität |
GET |
/api/{entity}/{primaryKey}/{value} |
Einen einzelnen Datensatz anhand des Primärschlüssels abrufen |
POST |
/api/{entity} |
Neuen Datensatz erstellen |
PUT |
/api/{entity}/{primaryKey}/{value} |
Ersetzen eines vorhandenen Datensatzes |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Aktualisieren bestimmter Felder in einem Datensatz |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Löschen eines Datensatzes |
Weitere Informationen zu REST-Endpunkten finden Sie unter Data API builder REST API.
GraphQL
Wählen Sie Nitro aus, um den Nitro GraphQL-Playground zu öffnen, in dem Sie GraphQL-Abfragen und Mutationen interaktiv schreiben und testen können.
Weitere Informationen zu GraphQL-Endpunkten finden Sie unter GraphQL-API des Daten-API-Generators.
MCP
Wählen Sie "Zu VS Code hinzufügen" aus, um die MCP-Serverkonfiguration in .vscode/mcp.json. Diese Konfiguration stellt den Endpunkt des Daten-API-Generators in Visual Studio Code als MCP-Server zur Verfügung. KI-Tools wie GitHub Copilot können dann über die Daten-API-Generator-API mit Ihrer Datenbank interagieren.
Weitere Informationen zu MCP in Visual Studio Code finden Sie unter Verwenden von MCP-Servern in Visual Studio Code.
Der Terminal-Test
Sie können endpunkte auch über das Terminal testen:
REST-API:
Abrufen aller Datensätze aus einer bestimmten Entität:
curl http://localhost:{port}/api/{entityName}
Erstellen Sie einen neuen Datensatz (wenn die Berechtigung "Erstellen" aktiviert ist):
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 } } }"}'
Tipp
Ersetzen Sie den {port} port, den Sie während der Bereitstellung konfiguriert haben (Standard: 5000).
GitHub Copilot-Integration
Für Entwickler, die natürliche Sprache bevorzugen, ist GitHub Copilot in die Daten-API-Generator-Erfahrung integriert. Wählen Sie die Schaltfläche "Chat" in der Symbolleiste aus, um eine GitHub Copilot-Chatsitzung im Konfigurationskontext des Data API Builders zu öffnen. GitHub Copilot und die Benutzeroberfläche bleiben synchron: Änderungen, die über den Chat vorgenommen wurden, werden sofort in der Benutzeroberfläche widergespiegelt und umgekehrt.
Hier sind einige Beispielprompts:
"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?"
Das folgende Beispiel zeigt, wie GitHub Copilot Entitäten aktiviert und CRUD-Berechtigungen über eine Chataufforderung konfiguriert:
Das folgende Beispiel zeigt, wie GitHub Copilot MCP-Endpunkte für die Konfiguration des Data API-Builder einrichtet:
Hinweis
Die GitHub Copilot-Integration erfordert, dass die GitHub Copilot- und GitHub Copilot-Chaterweiterungen installiert und angemeldet werden. Anweisungen zum Einrichten von GitHub Copilot finden Sie unter "Einrichten von GitHub Copilot".
Bekannte Einschränkungen
- Nur Tabellen: Die Konfigurations-UI unterstützt nur Tabellen. Ansichten und gespeicherte Prozeduren sind derzeit im Designer nicht verfügbar.
- Docker Desktop erforderlich: Für die lokale Bereitstellung muss Docker Desktop installiert und ausgeführt werden.
-
Nur SQL-Authentifizierung: Lokale Docker-Container unterstützen keine Microsoft Entra ID-Authentifizierungsmethoden, z
ActiveDirectoryInteractive. B. weil die Containerumgebung keinen Browser für den interaktiven Anmeldefluss öffnen kann. Die Erweiterung zeigt eine Benachrichtigung an, wenn Ihre aktuelle Verbindung einen nicht unterstützten Authentifizierungstyp verwendet. - SQL-Datenbank in Microsoft Fabric wird nicht unterstützt: SQL-Datenbank in Microsoft Fabric erfordert ausschließlich die Microsoft Entra-Authentifizierung und unterstützt keine SQL-Authentifizierung. Da für die Bereitstellung lokaler Container SQL-Authentifizierung erforderlich ist, ist die Bereitstellung in einer SQL-Datenbank in Fabric kein praktikables Szenario.
- Primärschlüssel erforderlich: Jede Tabellenentität, die über den Daten-API-Generator verfügbar gemacht wird, muss eine Primärschlüsseleinschränkung auf Datenbankebene definiert haben. Tabellen ohne Primärschlüssel führen dazu, dass das Daten-API-Generator-Modul beim Start fehlschlägt.
- KI-generierte Ausgabe sollte überarbeitet werden: GitHub Copilot kann falsche oder nicht optimale Konfigurationen erzeugen. Überprüfen Sie vor der Bereitstellung immer generierte Konfigurationen.
Bekannte Probleme
-
Nicht unterstützte SQL Server-Datentypen: Der Daten-API-Generator kann bestimmte SQL Server-Datentypen nicht serialisieren. Tabellen, die Spalten mit nicht unterstützten Typen enthalten, können dazu führen, dass das Modul beim Start fehlschlägt. Nicht unterstützte Typen umfassen
geography, ,geometry,hierarchyid,rowversion, undsql_variantxml. Die Erweiterung kennzeichnet betroffene Entitäten mit einem Warnsymbol und verhindert, dass sie für die Bereitstellung ausgewählt werden. Die neuesten Informationen zur Unterstützung von Datentypen finden Sie unter GitHub-Problem #3181. - Interaktive Microsoft Entra ID-Authentifizierung wird für die Containerbereitstellung nicht unterstützt: Der Daten-API-Generator-Container kann keine interaktive Microsoft Entra-Authentifizierung ausführen. Verbindungen mit interaktiven Microsoft Entra-ID-Methoden werden mit einer Benachrichtigung blockiert. Weitere Informationen finden Sie unter GitHub-Problem #3246.
- MCP befindet sich in der Vorschau: Die MCP-Erfahrung des Daten-API-Generators befindet sich derzeit in der Vorschau. Weitere Informationen finden Sie unter Data API Builder MCP Preview.
Feedback und Support
Wenn Sie Ideen oder Feedback haben oder sich mit der Community austauschen möchten, nehmen Sie an der Diskussion teil https://aka.ms/vscode-mssql-discussions. Um einen Fehler zu melden, besuchen Sie https://aka.ms/vscode-mssql-bug. Um ein neues Feature anzufordern, wechseln Sie zu https://aka.ms/vscode-mssql-feature-request.
Verwandte Inhalte
- Was ist der Daten-API-Generator?
- Dokumentation zum Daten-API-Generator
- GitHub Copilot für MSSQL-Erweiterung für Visual Studio Code
- Schema-Designer
- GitHub Copilot-Integration in Schema-Designer (Vorschau)
- Schnellstart: Herstellen einer Verbindung mit einer Datenbank und Abfragen einer Datenbank mit der MSSQL-Erweiterung für Visual Studio Code
- Lokaler SQL Server-Container
- Visual Studio Code-Dokumentation
- MSSQL-Erweiterung für das Visual Studio Code-Repository auf GitHub