Compartir a través de


Generador de API de datos (versión preliminar)

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.

Captura de pantalla de la interfaz de usuario de Data API Builder con las casillas de lista de entidades y CRUD en Visual Studio Code.

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:

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)....

    Captura de pantalla de la vista de configuración del Generador de api de datos con la lista de entidades y las casillas CRUD en Visual Studio Code.

  • 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.

    Captura de pantalla del botón Design API y el icono back-end de la barra de herramientas del Diseñador de esquemas.

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.

Captura de pantalla del cuadro de filtro de entidad con un término de búsqueda que filtra la lista de entidades.

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.

Captura de pantalla de las casillas API REST, GraphQL, MCP y All en la parte superior de la vista de configuración del Generador de API de datos.

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.

Captura de pantalla del cuadro de diálogo Configuración avanzada de entidades que muestra los campos Nombre de entidad, Rol de autorización, Ruta de ACCESO REST personalizada y Tipo de GraphQL personalizado.

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.

Captura de pantalla del panel Definición en la que se muestra la configuración JSON del generador de data API generada con los botones Abrir en el editor y Copiar.

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:

  1. Seleccione el botón Implementar de la barra de herramientas.

  2. Se abre el cuadro de diálogo Implementar contenedor DAB , que describe la implementación del contenedor local. Seleccione Siguiente.

    Captura de pantalla del cuadro de diálogo Implementar contenedor DAB con la descripción de la implementación del contenedor local.

  3. 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.

    Captura de pantalla de las comprobaciones de requisitos previos de Docker que se ejecutan secuencialmente.

    Seleccione Siguiente para continuar una vez completadas todas las comprobaciones.

    Captura de pantalla de las comprobaciones de requisitos previos de Docker completadas correctamente.

  4. 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.

    Captura de pantalla de la pantalla Configuración del contenedor con los campos Nombre del contenedor y Puerto.

  5. La implementación ejecuta tres pasos secuencialmente: extraer imagen, iniciar contenedor y comprobar la preparación.

    Captura de pantalla del progreso de la implementación que muestra los pasos de creación del contenedor.

  6. 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}/api Ver Swagger abre la interfaz de usuario de Swagger
    GraphQL http://localhost:{port}/graphql Nitro abre el área de juegos de GraphQL
    MCP http://localhost:{port}/mcp Agregar a VS Code guarda la configuración del servidor MCP en .vscode/mcp.json

    Seleccione cualquier vínculo para abrir la interfaz de prueba en el explorador simple integrado de Visual Studio Code.

    Captura de pantalla de la pantalla completa de implementación en la que se muestra que el contenedor de Data API Builder se está ejecutando con direcciones URL de punto de conexión.

    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:

    Captura de pantalla de la interfaz de usuario de Swagger para puntos de conexión REST en el explorador simple de 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:

    Captura de pantalla del área de juegos de Nitro GraphQL en el explorador simple de Visual Studio Code.

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:

Captura de pantalla de GitHub Copilot que habilita entidades y establece permisos CRUD a través de un mensaje de lenguaje natural en el chat del generador de API de datos.

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:

Captura de pantalla de GitHub Copilot que habilita los puntos de conexión de MCP a través de un mensaje de lenguaje natural en el chat del generador de DATA API.

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, y xml. 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.