Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De MSSQL-extensie voor Visual Studio Code bevat een geïntegreerde gebruikersinterface voor Data API Builder, zodat u REST-, GraphQL- en MCP-eindpunten voor uw SQL-databasetabellen kunt maken zonder configuratiebestanden te schrijven of Visual Studio Code te verlaten. U kunt selecteren welke tabellen beschikbaar moeten worden gemaakt, CRUD-machtigingen moeten configureren, API-typen kiezen, een voorbeeld van de gegenereerde configuratie bekijken en een lokale back-end implementeren die mogelijk wordt gemaakt door Data API Builder, allemaal vanuit een visuele interface.
Aanbeveling
Data API Builder is momenteel in preview en kan worden gewijzigd op basis van feedback. Neem deel aan de community op GitHub-discussies om ideeën te delen of problemen te melden.
Belangrijk
Deze functie heeft bekende beperkingen, waaronder ondersteuning voor alleen SQL-verificatie voor containerimplementatie en compatibiliteit met beperkte gegevenstypen. Bekijk bekende beperkingen en bekende problemen voordat u implementeert.
Features
Integratie van Data API Builder biedt deze mogelijkheden:
- Selecteer database-entiteiten (tabellen) om beschikbaar te maken als API-eindpunten, geordend op schema met samenvouwbare groepering.
- Configureer cruD-machtigingen (Create, Read, Update en Delete) afzonderlijk voor elke entiteit.
- Kies API-typen die u wilt genereren: REST, GraphQL, MCP of een willekeurige combinatie.
- Configureer geavanceerde entiteitsinstellingen, waaronder aangepaste REST-paden, aangepaste GraphQL-typenamen en autorisatierollen.
- Bekijk de gegenereerde JSON-configuratie van de Data API Builder in een alleen-lezen definitievenster.
- Implementeer Data API Builder lokaal als een Docker-container met geautomatiseerde vereistencontroles.
- Test het uitvoeren van API's rechtstreeks in Visual Studio Code met behulp van de ingebouwde Eenvoudige browser.
- Gebruik GitHub Copilot-chat om entiteiten te configureren via prompts in natuurlijke taal.
Vereiste voorwaarden
Voordat u Data API Builder gebruikt, moet u ervoor zorgen dat aan de volgende vereisten wordt voldaan:
- De MSSQL-extensie voor Visual Studio Code is geïnstalleerd. Zie voor installatiestappen het overzicht van de MSSQL-extensie voor Visual Studio Code.
- Er wordt een actieve databaseverbinding tot stand gebracht via de MSSQL-extensie. Zie Quickstart: Verbinding maken met en query's uitvoeren op een database met de MSSQL-extensie voor Visual Studio Code voor verbindingsstappen.
- Docker Desktop wordt geïnstalleerd en uitgevoerd op uw computer (vereist voor lokale implementatie).
- (Optioneel) GitHub Copilot- en GitHub Copilot Chat-extensies zijn geïnstalleerd voor de configuratie van ai-ondersteunde entiteiten.
Open Data API-bouwer
U kunt de configuratieweergave van Data API Builder openen vanaf twee toegangspunten:
Klik in Objectverkenner met de rechtermuisknop op een databaseknooppunt en selecteer Build Data API (preview)....
Selecteer in schemaontwerper de knop Ontwerp-API (knop in de rechterbovenhoek van de werkbalk) of selecteer het pictogram Back-end in het linkerdeelvenster.
De configuratieweergave van Data API Builder wordt geopend, met uw databaseentiteiten, API-typeopties en configuratiebesturingselementen.
Entiteiten selecteren
De entiteitsselectieweergave bevat alle tabellen uit uw verbonden database, gegroepeerd op schema.
- Elke schemarij is samenvouwbaar en toont een badge die aangeeft hoeveel entiteiten zijn ingeschakeld, bijvoorbeeld '3/5'.
- Schakel een selectievakje op schemaniveau in om alle entiteiten in dat schema in te schakelen. Het selectievakje ondersteunt selectie in drie toestanden: alle, geen of gemengd.
- Toont per entiteitsrij: het selectievakje voor inschakelen, entiteitsnaam, brontabel, CRUD-selectievakjes en een instellingenknop.
- Als u een entiteit uitschakelt, wordt de rij grijs weergegeven en worden de CRUD-selectievakjes en de instellingenknop uitgeschakeld.
Gebruik het filtervak bovenaan om entiteiten te doorzoeken op naam, schema of brontabel. Het filter is niet hoofdlettergevoelig, en het ingeschakelde aantal wordt bijgewerkt op basis van de gefilterde resultaten.
Machtigingen en API-typen configureren
CRUD-machtigingen
Schakel afzonderlijke selectievakjes voor maken, lezen, bijwerken en verwijderen in voor elke entiteit. Met de CRUD-selectievakjes op headerniveau schakelt u die actie in voor alle ingeschakelde entiteiten en biedt ondersteuning voor selectie van drie statussen.
Selectie van API-type
Selecteer bovenaan de configuratieweergave de API-typen die u wilt genereren:
- REST API: genereert REST-eindpunten met de Swagger-gebruikersinterface voor testen.
- GraphQL: Genereert GraphQL-eindpunten met Nitro GraphQL-speeltuin.
- MCP (preview): genereert eindpunten voor modelcontextprotocollen.
- Alles: hiermee selecteert of deselecteert u alle API-typen.
Selecteer ten minste één API-type.
Geavanceerde entiteitsconfiguratie
Selecteer het tandwielpictogram in een entiteitsrij om het dialoogvenster Geavanceerde entiteitsconfiguratie te openen, waar u het volgende kunt configureren:
- Entiteitsnaam: de naam die wordt gebruikt in API-routes en -antwoorden (standaard ingesteld op de tabelnaam).
- Autorisatierol: schakelen tussen Anoniem (geen verificatie vereist) en Geverifieerd (vereist gebruikersverificatie).
-
Aangepast REST-pad: optioneel overschrijven voor het standaardpad
api/entityName. - Aangepast GraphQL-type: Optioneel overschrijven voor de standaardnaam van het GraphQL-type.
Selecteer Wijzigingen toepassen om uw configuratie op te slaan of Annuleren om te verwijderen.
Preview-configuratie
Selecteer de knop Configuratie weergeven op de werkbalk om het deelvenster Definitie onder aan de configuratieweergave te openen. In dit deelvenster ziet u het gegenereerde JSON-configuratiebestand voor Data API Builder in een indeling die alleen lezen toestaat.
Het deelvenster Definitie:
- Geeft de huidige entiteitsselectie, API-typen en geavanceerde instellingen weer.
- Blijft gesynchroniseerd met de gebruikersinterface en GitHub Copilot-chat: wijzigingen die op beide locaties zijn aangebracht, werken de preview onmiddellijk bij.
- Bevat alleen ingeschakelde entiteiten in de configuratie-uitvoer.
- Toont REST-, GraphQL- en MCP-runtimesecties op basis van geselecteerde API-typen.
Selecteer Openen in Editor om de configuratie weer te geven op een volledig tabblad van de Visual Studio Code-editor. Selecteer Kopiëren om de configuratie naar het klembord te kopiëren.
Lokaal implementeren met Docker
Data API Builder wordt geïmplementeerd als een lokale Docker-container. De implementatiewizard begeleidt u bij het proces:
Selecteer de knop Implementeren op de werkbalk.
Het dialoogvenster DAB-container implementeren wordt geopend, waarin de lokale containerimplementatie wordt beschreven. Kies Volgende.
In het scherm Docker Voorbereiden worden de vereiste controles opeenvolgend uitgevoerd:
- Docker-installatie controleren: Controleert of Docker op uw systeem is geïnstalleerd.
- Docker Desktop starten: zorgt ervoor dat Docker Desktop wordt uitgevoerd.
- Docker-engine controleren: controleert of de Docker-engine gereed is.
Selecteer Volgende om door te gaan zodra alle controles zijn voltooid.
Het scherm Containerinstellingen wordt weergegeven:
- Containernaam: optionele naam voor de Docker-container (er wordt een automatisch gegenereerde standaardwaarde opgegeven).
-
Poort: de poort waarop de API beschikbaar moet worden gemaakt (standaard:
5000). - De container hergebruikt de verbindingsreeks van de actieve databaseverbinding.
Selecteer Container maken.
De implementatie voert drie stappen opeenvolgend uit: image ophalen, container starten en gereedheid controleren.
Bij een geslaagde implementatie geeft de wizard de eindpunt-URL's weer voor elk ingeschakeld API-type:
API-type Eindpunt Action REST http://localhost:{port}/apiWeergave Swagger opent de Swagger-gebruikersinterface GraphQL http://localhost:{port}/graphqlNitro opent de GraphQL-speeltuin MCP http://localhost:{port}/mcpToevoegen aan VS Code schrijft de MCP-serverconfiguratie naar .vscode/mcp.jsonSelecteer een koppeling om de testinterface te openen in de ingebouwde Simple Browser van Visual Studio Code.
In het volgende voorbeeld ziet u de Swagger-gebruikersinterface voor het rechtstreeks testen van REST-eindpunten in Visual Studio Code:
In het volgende voorbeeld ziet u de Nitro GraphQL-speeltuin voor het testen van GraphQL-query's en -mutaties:
De actieve API testen
Na de implementatie kunt u uw API's rechtstreeks vanuit het dialoogvenster voor voltooiing van de implementatie testen met behulp van de ingebouwde Simple Browser van Visual Studio Code.
REST API
Selecteer Swagger weergeven om de Swagger-gebruikersinterface te openen, een interactieve visuele interface voor het verkennen en testen van REST-eindpunten. U kunt door beschikbare entiteiten bladeren, aanvraag- en antwoordschema's bekijken en API-aanroepen rechtstreeks uitvoeren.
Data API Builder genereert de volgende REST-eindpunten voor elke ingeschakelde entiteit:
| Methode | Eindpunt | Beschrijving |
|---|---|---|
GET |
/api/{entity} |
Alle records voor een entiteit weergeven |
GET |
/api/{entity}/{primaryKey}/{value} |
Eén record ophalen op basis van primaire sleutel |
POST |
/api/{entity} |
Een nieuwe record maken |
PUT |
/api/{entity}/{primaryKey}/{value} |
Een bestaande record vervangen |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Specifieke velden voor een record bijwerken |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Een record verwijderen |
Zie REST API Builder REST API voor meer informatie over REST-eindpunten.
GraphQL
Selecteer Nitro om de Nitro GraphQL-speeltuin te openen, waar u interactief GraphQL-query's en mutaties kunt schrijven en testen.
Zie GraphQL API Builder GraphQL API voor meer informatie over GraphQL-eindpunten.
MCP
Selecteer Toevoegen aan VS Code om de MCP-serverconfiguratie te schrijven naar .vscode/mcp.json. Met deze configuratie is het eindpunt van de Data API Builder beschikbaar als een MCP-server in Visual Studio Code. AI-hulpprogramma's zoals GitHub Copilot kunnen vervolgens communiceren met uw database via de Data API Builder API.
Zie MCP-servers gebruiken in Visual Studio Code voor meer informatie over MCP in Visual Studio Code.
Terminal testen
U kunt ook eindpunten testen vanuit de terminal:
REST API:
Alle records ophalen van een specifieke entiteit:
curl http://localhost:{port}/api/{entityName}
Een nieuw record maken (als de toestemming maken is ingeschakeld):
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 } } }"}'
Aanbeveling
Vervang {port} door de poort die u tijdens de implementatie hebt geconfigureerd (standaard: 5000).
GitHub Copilot-integratie
Voor ontwikkelaars die de voorkeur geven aan natuurlijke taal, is GitHub Copilot ingebouwd in de ervaring voor data-API-opbouwfunctie. Selecteer de knop Chat op de werkbalk om een GitHub Copilot-chatsessie te openen die is gericht op de configuratiecontext van de Data API Builder. GitHub Copilot en de gebruikersinterface blijven gesynchroniseerd: wijzigingen die via chat worden aangebracht, worden onmiddellijk doorgevoerd in de gebruikersinterface en omgekeerd.
Hier volgen enkele voorbeeldprompts:
"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?"
In het volgende voorbeeld ziet u GitHub Copilot voor het inschakelen van entiteiten en het configureren van CRUD-machtigingen via een chatprompt:
In het volgende voorbeeld ziet u dat GitHub Copilot de MCP-eindpunten inschakelt voor de configuratie van de Data-API-bouwer.
Opmerking
GitHub Copilot-integratie vereist dat de GitHub Copilot- en GitHub Copilot Chat-extensies zijn geïnstalleerd en aangemeld. Zie GitHub Copilot instellen voor installatie-instructies.
Bekende beperkingen
- Alleen tabellen: de gebruikersinterface van de configuratie ondersteunt alleen tabellen. Weergaven en opgeslagen procedures zijn momenteel niet beschikbaar in de ontwerpfunctie.
- Docker Desktop vereist: voor lokale implementatie moet Docker Desktop worden geïnstalleerd en uitgevoerd.
-
Alleen SQL-verificatie: lokale Docker-containers bieden geen ondersteuning voor verificatiemethoden voor Microsoft Entra-id's, zoals
ActiveDirectoryInteractive, omdat de containeromgeving geen browser kan openen voor de interactieve aanmeldingsstroom. De extensie geeft een melding weer als uw huidige verbinding gebruikmaakt van een niet-ondersteund verificatietype. - SQL-database in Microsoft Fabric wordt niet ondersteund: SQL-database in Microsoft Fabric vereist uitsluitend Microsoft Entra-verificatie en biedt geen ondersteuning voor SQL-verificatie. Omdat voor lokale containerimplementatie SQL-verificatie is vereist, is het implementeren op basis van SQL Database in Fabric geen geschikt scenario.
- Primaire sleutel vereist: elke tabelentiteit die beschikbaar is via Data API Builder, moet een primaire-sleutelbeperking hebben die is gedefinieerd op databaseniveau. Tabellen zonder primaire sleutel zorgen ervoor dat de engine van de Data API Builder mislukt bij het opstarten.
- Door AI gegenereerde uitvoer moet worden gecontroleerd: GitHub Copilot kan onjuiste of suboptimale configuraties produceren. Controleer altijd gegenereerde configuraties voordat u implementeert.
Bekende problemen
-
Niet-ondersteunde SQL Server-gegevenstypen: Data API Builder kan bepaalde SQL Server-gegevenstypen niet serialiseren. Tabellen met kolommen met niet-ondersteunde typen kunnen ertoe leiden dat de engine mislukt bij het opstarten. Niet-ondersteunde typen zijn onder andere
geography,geometry,hierarchyid,rowversionensql_variantxml. De extensie markeert de betrokken entiteiten met een waarschuwingspictogram en voorkomt dat ze worden geselecteerd voor implementatie. Zie GitHub-probleem #3181 voor de meest recente informatie over ondersteuning voor gegevenstypen. - Interactieve Microsoft Entra ID-verificatie wordt niet ondersteund voor containerimplementatie: de Data API Builder-container kan geen interactieve Microsoft Entra-verificatie uitvoeren. Verbindingen met behulp van interactieve Microsoft Entra ID-methoden worden geblokkeerd met een melding. Zie GitHub-probleem 3246 voor meer informatie.
- MCP is in preview: De Data API Builder MCP-ervaring is momenteel in preview. Zie Data API Builder MCP Preview voor meer informatie.
Feedback en ondersteuning
Als u ideeën, feedback of contact wilt opnemen met de community, kunt u deelnemen aan de discussie op https://aka.ms/vscode-mssql-discussions. Als u een fout wilt melden, gaat u naar https://aka.ms/vscode-mssql-bug. Als u een nieuwe functie wilt aanvragen, gaat u naar https://aka.ms/vscode-mssql-feature-request.
Verwante inhoud
- Wat is Data API Builder?
- Documentatie voor Data API Builder
- GitHub Copilot voor MSSQL-extensie voor Visual Studio Code
- Schemaontwerper
- GitHub Copilot-integratie in Schema Designer (preview)
- Quickstart: Verbinding maken met en query's uitvoeren op een database met de MSSQL-extensie voor Visual Studio Code
- Lokale SQL Server-container
- Documentatie voor Visual Studio Code
- MSSQL-extensie voor Visual Studio Code-opslagplaats op GitHub