Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión MSSQL para Visual Studio Code incluye una interfaz de usuario integrada para data API Builder, por lo que puede crear puntos de conexión REST, GraphQL y MCP para las tablas de SQL Database sin escribir archivos de configuración ni salir de Visual Studio Code. Puede seleccionar qué tablas exponer, configurar permisos CRUD, elegir tipos de API, obtener una vista previa de la configuración generada e implementar un back-end local con tecnología de Data API Builder, todo ello desde una interfaz visual.
Sugerencia
El generador de API de datos se encuentra actualmente en versión preliminar y puede cambiar en función de los comentarios. Únase a la comunidad en GitHub Discussions para compartir ideas o notificar problemas.
Importante
Esta característica tiene limitaciones conocidas, incluida la compatibilidad solo con la autenticación de SQL para la implementación de contenedores y la compatibilidad con tipos de datos restringidos. Revise Limitaciones conocidas y Problemas conocidos antes de la implementación.
Características
La integración de Data API Builder ofrece estas funcionalidades:
- Seleccione entidades de base de datos (tablas) para exponer como puntos de conexión de API, organizados por esquema con agrupación contraíble.
- Configure los permisos Crear, Leer, Actualizar y Eliminar (CRUD) de forma independiente para cada entidad.
- Elija tipos de API para generar: REST, GraphQL, MCP o cualquier combinación.
- Configurar ajustes avanzados de entidad, incluidas rutas REST personalizadas, nombres de tipos GraphQL personalizados y roles de autorización.
- Obtenga una vista previa de la configuración JSON del generador de API de datos generada en un panel Definición de solo lectura.
- Implemente data API Builder localmente como contenedor de Docker con comprobaciones automatizadas de requisitos previos.
- Pruebe la ejecución de API directamente en Visual Studio Code mediante el explorador simple integrado.
- Use el chat de GitHub Copilot para configurar entidades a través de mensajes de lenguaje natural.
Prerrequisitos
Antes de usar Data API Builder, asegúrese de que se cumplen los siguientes requisitos:
- La extensión MSSQL para Visual Studio Code está instalada. Para conocer los pasos de instalación, consulte la introducción a la extensión MSSQL para Visual Studio Code .
- Se establece una conexión de base de datos activa a través de la extensión MSSQL. Para conocer los pasos de conexión, consulte Inicio rápido: Conexión a una base de datos y consulta con la extensión MSSQL para Visual Studio Code.
- Docker Desktop se instala y se ejecuta en el equipo (necesario para la implementación local).
- (Opcional) Las extensiones de GitHub Copilot y GitHub Copilot Chat se instalan para la configuración de entidades asistidas por IA.
Constructor de API de Datos Abiertos
Puede abrir la vista de configuración del Generador de api de datos desde dos puntos de entrada:
En el Explorador de objetos: haga clic con el botón derecho en un nodo de base de datos y seleccione Build Data API (Preview)....
En el Diseñador de esquemas: seleccione el botón Diseñar API (botón en la esquina superior derecha de la barra de herramientas) o seleccione el icono Back-end en el panel izquierdo.
Se abre la vista de configuración del Generador de api de datos, donde se muestran las entidades de base de datos, las opciones de tipo de API y los controles de configuración.
Seleccionar entidades
La vista de selección de entidades muestra todas las tablas de la base de datos conectada, agrupadas por esquema.
- Cada fila de esquema es contraíble y muestra un distintivo de recuento que indica cuántas entidades están habilitadas (por ejemplo, "3/5").
- Seleccione una casilla de verificación de nivel de esquema para marcar o desmarcar todas las entidades del esquema. La casilla admite la selección de tres estados: todas, ninguna o mixtas.
- Cada fila de entidad muestra: la casilla habilitar, el nombre de entidad, la tabla de origen, las casillas CRUD y un botón de configuración.
- Al deshabilitar una entidad, se desactiva su fila y se deshabilitan las casillas CRUD y el botón de configuración.
Use el cuadro de filtro de la parte superior para buscar entidades por nombre, esquema o tabla de origen. El filtro no distingue mayúsculas de minúsculas y el recuento habilitado se actualiza en función de los resultados filtrados.
Configuración de permisos y tipos de API
Permisos CRUD
Active las casillas Crear, Leer, Actualizar y Eliminar individuales para cada entidad. Las casillas CRUD de nivel de encabezado activan esa acción para todas las entidades habilitadas y admiten la selección de tres estados.
Selección de tipo de API
En la parte superior de la vista de configuración, seleccione los tipos de API que se van a generar:
- API REST: genera puntos de conexión REST con la interfaz de usuario de Swagger para realizar pruebas.
- GraphQL: genera puntos de conexión de GraphQL con el entorno de pruebas Nitro GraphQL.
- MCP (versión preliminar): genera puntos de conexión del protocolo de contexto de modelo.
- All: Selecciona o deselecciona todos los tipos de API.
Seleccione al menos un tipo de API.
Configuración avanzada de entidades
Seleccione el icono de engranaje de una fila de entidad para abrir el cuadro de diálogo Configuración avanzada de entidades , donde puede configurar:
- Nombre de entidad: el nombre usado en las rutas y respuestas de API (el valor predeterminado es el nombre de la tabla).
- Rol de autorización: alternar entre Anónimo (sin autenticación necesaria) y Autenticado (requiere autenticación de usuario).
-
Ruta de acceso REST personalizada: invalidación opcional para la ruta de acceso predeterminada
api/entityName. - Tipo de GraphQL personalizado: invalidación opcional para el nombre de tipo de GraphQL predeterminado.
Seleccione Aplicar cambios para guardar la configuración o Cancelar para descartar.
Configuración de la versión preliminar
Seleccione el botón Ver configuración de la barra de herramientas para abrir el panel Definición en la parte inferior de la vista de configuración. En este panel se muestra el archivo de configuración JSON generado de Data API Builder en un formato de solo lectura.
El panel Definición:
- Refleja la selección de entidad actual, los tipos de API y la configuración avanzada.
- Permanece sincronizado con la interfaz de usuario y el chat de GitHub Copilot: los cambios realizados en cualquier ubicación actualizan inmediatamente la versión preliminar.
- Solo incluye entidades habilitadas en la salida de configuración.
- Muestra las secciones REST, GraphQL y MCP runtime en función de los tipos de API seleccionados.
Seleccione Abrir en el Editor para ver la configuración en una pestaña completa del editor de Visual Studio Code. Seleccione Copiar para copiar la configuración en el Portapapeles.
Implementación local con Docker
Data API Builder se implementa como un contenedor de Docker local. El Asistente para la implementación le guía por el proceso:
Seleccione el botón Implementar de la barra de herramientas.
Se abre el cuadro de diálogo Implementar contenedor DAB , que describe la implementación del contenedor local. Seleccione Siguiente.
La pantalla Getting Docker Ready (Preparar Docker) ejecuta comprobaciones de requisitos previos secuencialmente:
- Comprobación de la instalación de Docker: comprueba que Docker está instalado en el sistema.
- Inicio de Docker Desktop: garantiza que Docker Desktop se está ejecutando.
- Comprobación del motor de Docker: comprueba que el motor de Docker está listo.
Seleccione Siguiente para continuar una vez completadas todas las comprobaciones.
Aparece la pantalla Configuración del contenedor :
- Nombre del contenedor: nombre opcional para el contenedor de Docker (se proporciona un valor predeterminado generado automáticamente).
-
Puerto: puerto en el que se expone la API (valor predeterminado:
5000). - El contenedor reutiliza la cadena de conexión de la conexión de base de datos activa.
Seleccione Crear contenedor.
La implementación ejecuta tres pasos secuencialmente: extraer imagen, iniciar contenedor y comprobar la preparación.
Si la implementación se realiza correctamente, el asistente muestra las direcciones URL del punto de conexión para cada tipo de API habilitado:
Tipo de API Punto final Acción REST http://localhost:{port}/apiVer Swagger abre la interfaz de usuario de Swagger GraphQL http://localhost:{port}/graphqlNitro abre el área de juegos de GraphQL MCP http://localhost:{port}/mcpAgregar a VS Code guarda la configuración del servidor MCP en .vscode/mcp.jsonSeleccione cualquier vínculo para abrir la interfaz de prueba en el explorador simple integrado de Visual Studio Code.
En el ejemplo siguiente se muestra la interfaz de usuario de Swagger para probar los puntos de conexión REST directamente en Visual Studio Code:
En el ejemplo siguiente se muestra el área de juegos de Nitro GraphQL para probar las consultas y las mutaciones de GraphQL:
Prueba de la API en ejecución
Después de la implementación, puede probar las API directamente desde el cuadro de diálogo de finalización de la implementación mediante el explorador simple integrado de Visual Studio Code.
API de REST
Seleccione Ver Swagger para abrir la interfaz de usuario de Swagger, una interfaz visual interactiva para explorar y probar puntos de conexión REST. Puede examinar las entidades disponibles, ver los esquemas de solicitud y respuesta y ejecutar llamadas API directamente.
Data API Builder genera los siguientes puntos de conexión REST para cada entidad habilitada:
| Método | Punto final | Descripción |
|---|---|---|
GET |
/api/{entity} |
Enumerar todos los registros de una entidad |
GET |
/api/{entity}/{primaryKey}/{value} |
Obtención de un único registro usando la clave principal |
POST |
/api/{entity} |
Crear un registro nuevo |
PUT |
/api/{entity}/{primaryKey}/{value} |
Reemplazar un registro existente |
PATCH |
/api/{entity}/{primaryKey}/{value} |
Actualizar campos específicos en un registro |
DELETE |
/api/{entity}/{primaryKey}/{value} |
Eliminar un registro |
Para más información sobre los puntos de conexión REST, consulte API REST de Data API Builder.
GraphQL
Seleccione Nitro para abrir el área de juegos de Nitro GraphQL, donde puede escribir y probar consultas y mutaciones de GraphQL de forma interactiva.
Para más información sobre los puntos de conexión de GraphQL, consulte Data API Builder GraphQL API.
MCP
Seleccione Agregar a VS Code para escribir la configuración del servidor MCP en .vscode/mcp.json. Esta configuración hace que el punto de conexión del Generador de API de datos esté disponible como servidor MCP en Visual Studio Code. Las herramientas de inteligencia artificial, como GitHub Copilot, pueden interactuar con la base de datos a través de la API del generador de datos.
Para obtener más información sobre MCP en Visual Studio Code, consulte Uso de servidores MCP en Visual Studio Code.
Pruebas de terminal
También puede probar puntos de conexión desde el terminal:
API REST:
Obtenga todos los registros de una entidad específica:
curl http://localhost:{port}/api/{entityName}
Cree un nuevo registro (si el permiso Crear está habilitado):
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 } } }"}'
Sugerencia
Reemplace por {port} el puerto que configuró durante la implementación (valor predeterminado: 5000).
Integración de GitHub Copilot
Para los desarrolladores que prefieren lenguaje natural, GitHub Copilot está integrado en la experiencia del generador de API de datos. Seleccione el botón Chat de la barra de herramientas para abrir una sesión de chat de GitHub Copilot con alcance en el contexto de configuración del Generador de la API de datos. GitHub Copilot y la interfaz de usuario permanecen sincronizadas: los cambios realizados a través del chat se reflejan inmediatamente en la interfaz de usuario y viceversa.
Estos son algunas indicaciones de ejemplo:
"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?"
En el ejemplo siguiente se muestra GitHub Copilot que habilita entidades y configura permisos CRUD a través de un mensaje de chat:
En el ejemplo siguiente se muestra GitHub Copilot que habilita los puntos de conexión de MCP para la configuración del Generador de API de datos:
Nota:
La integración de GitHub Copilot requiere que las extensiones de GitHub Copilot y GitHub Copilot Chat se instalen e inicien sesión. Para obtener instrucciones de configuración, consulte Configuración de GitHub Copilot.
Limitaciones conocidas
- Solo tablas: la interfaz de usuario de configuración solo admite tablas. Las vistas y los procedimientos almacenados no están disponibles en el diseñador en este momento.
- Docker Desktop obligatorio: la implementación local requiere que Docker Desktop esté instalado y en ejecución.
-
Solo autenticación de SQL: los contenedores locales de Docker no admiten métodos de autenticación de Id. de Microsoft Entra, como
ActiveDirectoryInteractive, porque el entorno de contenedor no puede abrir un explorador para el flujo de inicio de sesión interactivo. La extensión muestra una notificación si la conexión actual usa un tipo de autenticación no admitido. - No se admite la base de datos SQL en Microsoft Fabric: La base de datos SQL en Microsoft Fabric requiere la autenticación de Microsoft Entra exclusivamente y no admite la autenticación SQL. Dado que la implementación de contenedores locales requiere autenticación de SQL, la implementación en SQL Database en Fabric no es un escenario viable.
- Clave principal requerida: todas las entidades de tabla expuestas a través del generador de Data API deben tener una restricción de clave principal definida en el nivel de base de datos. Las tablas sin una clave principal provocan un error en el motor del generador de API de datos al iniciarse.
- Se debe revisar la salida generada por IA: Es posible que GitHub Copilot produzca configuraciones incorrectas o subóptimas. Revise siempre las configuraciones generadas antes de la implementación.
Problemas conocidos
-
Tipos de datos de SQL Server no admitidos: Data API Builder no puede serializar determinados tipos de datos de SQL Server. Las tablas que contienen columnas con tipos no admitidos pueden provocar un error en el motor al iniciarse. Los tipos no admitidos incluyen
geography,geometry,hierarchyid,rowversion,sql_variant, yxml. La extensión marca las entidades afectadas con un icono de advertencia y evita que se seleccionen para la implementación. Para obtener la información más reciente sobre la compatibilidad con el tipo de datos, vea Problema de GitHub n.º 3181. - Autenticación interactiva de Microsoft Entra ID no compatible con la implementación de contenedores: el contenedor del generador de API de datos no puede realizar la autenticación interactiva de Microsoft Entra. Las conexiones que usan métodos interactivos de Microsoft Entra ID se bloquean con una notificación. Para obtener más información, vea Problema de GitHub n.º 3246.
- MCP está en versión preliminar: la experiencia de MCP de Data API Builder está actualmente en versión preliminar. Para más información, consulte La versión preliminar de MCP de Data API Builder.
Comentarios y soporte
Si tiene ideas, comentarios o quiere interactuar con la comunidad, únase a la discusión en https://aka.ms/vscode-mssql-discussions. Para notificar un error, visite https://aka.ms/vscode-mssql-bug. Para solicitar una nueva característica, vaya a https://aka.ms/vscode-mssql-feature-request.
Contenido relacionado
- ¿Qué es Data API Builder?
- Documentación de Data API Builder
- Extensión de GitHub Copilot para MSSQL de Visual Studio Code
- Diseñador de esquemas
- Integración de GitHub Copilot en el Diseñador de esquemas (versión preliminar)
- Inicio rápido: Conexión a una base de datos y consulta con la extensión MSSQL para Visual Studio Code
- Contenedor de SQL Server local
- Documentación de Visual Studio Code
- Extensión MSSQL para el repositorio de Visual Studio Code en GitHub