Compartir a través de


¿Qué es la API de Microsoft Fabric para GraphQL?

GraphQL es un lenguaje de consulta y tiempo de ejecución de código abierto para las API mantenidas por GraphQL Foundation. A diferencia de las API REST tradicionales, GraphQL permite a los clientes solicitar exactamente los datos que necesitan en una sola consulta, lo que reduce la captura excesiva y la captura infradefinida de los datos.

La API de Microsoft Fabric para GraphQL aporta este potente estándar al ecosistema de Fabric como una capa de acceso a datos que le permite consultar varios orígenes de datos de forma rápida y eficaz. La API abstrae los detalles de los orígenes de datos de back-end para centrarse en la lógica de la aplicación y proporcionar todos los datos que necesita un cliente en una sola llamada. Con su lenguaje de consulta simple y la manipulación eficaz del conjunto de resultados, GraphQL minimiza el tiempo que tardan las aplicaciones en acceder a los datos en Fabric.

Por qué usar GraphQL para datos de Fabric

Sin GraphQL, la exposición de datos de Fabric a las aplicaciones normalmente requiere uno de estos enfoques:

Conexiones directas a bases de datos

  • Las aplicaciones se conectan directamente a lakehouses o almacenes mediante controladores SQL (ODBC, JDBC)
  • El código de la aplicación está estrechamente acoplado a los esquemas de la base de datos: los cambios en el esquema pueden interrumpir las aplicaciones.
  • Requiere la administración de cadenas de conexión, credenciales y dependencias de controladores en cada aplicación.
  • Las consultas SQL insertadas en el código de aplicación son difíciles de probar y mantener

API REST personalizadas

  • Crear y mantener servicios back-end personalizados con marcos como ASP.NET o Node.js
  • Escribir código de controlador, lógica de enrutamiento y capas de acceso a datos para cada punto de conexión
  • Creación de versiones de API independientes (v1, v2, v3) cuando cambian las estructuras de datos
  • Sobrecarga de datos (obtener filas completas cuando se necesitan pocas columnas) o subcarga de datos (realizar múltiples viajes de ida y vuelta para los datos relacionados).

GraphQL resuelve estos desafíos:

  • No se requiere ningún código de back-end: Fabric genera automáticamente el esquema GraphQL, los resolveres y el punto de conexión de los orígenes de datos.
  • Consulta exactamente lo que necesita: solicite campos específicos en una sola consulta, lo que elimina la captura excesiva y reduce los tamaños de carga.
  • Capturar datos relacionados en una solicitud: recorrer relaciones sin varios recorridos de ida y vuelta (ningún problema de consulta N+1)
  • Evolución del esquema sin cambios importantes: agregar nuevos campos sin afectar a las consultas existentes: los clientes solo solicitan lo que saben.
  • Seguridad de tipos y documentación: esquema autodocumentado con introspección incorporada que es compatible con las herramientas de desarrollo.
  • Acceso unificado a múltiples orígenes: consultar a través de lakehouses, almacenes de datos y bases de datos SQL mediante un único punto de conexión

Para los desarrolladores de aplicaciones, GraphQL significa un desarrollo más rápido con menos infraestructura. En el caso de los ingenieros de datos, significa exponer datos sin escribir y mantener código de API personalizado.

Quién debe usar LA API para GraphQL

La API de Fabric para GraphQL está diseñada para:

  • Desarrolladores de aplicaciones que crean aplicaciones web y móviles basadas en datos que consumen datos de lakehouse y almacén de Fabric.
  • Ingenieros de datos que exponen datos de Fabric a aplicaciones descendentes a través de APIs modernas y flexibles sin escribir código backend personalizado
  • Desarrolladores de integración que conectan datos de Fabric a aplicaciones personalizadas y flujos de trabajo automatizados
  • Desarrolladores de BI que crean aplicaciones de análisis personalizadas que complementan Power BI con datos de Fabric
  • Científicos de datos que exponen información de aprendizaje automático y datos de Fabric mediante API de programación

Si está trabajando en la plataforma de análisis unificado de Microsoft Fabric y necesita hacer que los datos de lakehouse, warehouse o SQL Database sean accesibles para las aplicaciones, GraphQL API, proporciona una manera eficiente y amigable para desarrolladores de consultar exactamente los datos que necesita.

Sugerencia

¿Quiere integrar las API de Fabric GraphQL con agentes de IA? Pruebe el tutorial Creación de un servidor MCP de GraphQL local para agentes de IA para conectar agentes de IA a los datos de Fabric mediante el Protocolo de contexto de modelo.

Exposición de datos a través de la API para GraphQL

Exponer orígenes de datos a un elemento de GraphQL en Microsoft Fabric es un proceso sencillo que se puede completar en cuestión de minutos utilizando la interfaz visual del portal de Microsoft Fabric. El proceso implica:

  1. Creación de un elemento de GraphQL API en el área de trabajo de Fabric
  2. Conecte los orígenes de datos seleccionando lagos de datos, almacenes o bases de datos disponibles.
  3. Elección de los objetos que se van a exponer , como tablas, vistas o procedimientos almacenados
  4. Definir relaciones (opcional) entre objetos para habilitar consultas anidadas eficaces
  5. Configuración de permisos para controlar quién puede acceder a la API

Una vez configurado, Fabric genera automáticamente el esquema graphQL, crea los solucionadores necesarios y proporciona una dirección URL de punto de conexión. La API está lista inmediatamente para aceptar consultas, no se requiere ninguna implementación ni configuración de infraestructura.

Para obtener instrucciones paso a paso, consulte Creación de una API para GraphQL en Fabric y adición de datos.

Orígenes de datos admitidos

Actualmente, los siguientes orígenes de datos admitidos se exponen a través de Fabric API for GraphQL:

  • Almacén de Datos de Microsoft Fabric
  • Base de datos SQL de Microsoft Fabric
  • Microsoft Fabric Lakehouse mediante el punto de conexión de SQL Analytics
  • Bases de datos reflejadas de Microsoft Fabric a través del punto de conexión de SQL Analytics, entre las que se incluyen:
    • Azure SQL Database
    • Instancia Gestionada de Azure SQL
    • Azure Cosmos DB (la base de datos de Azure Cosmos)
    • Base de datos SQL de Microsoft Fabric
    • Azure Databricks
    • Snowflake
    • Abrir bases de datos duplicadas
  • Azure SQL Database
  • Datamart

Características

La API de Microsoft Fabric para GraphQL proporciona funcionalidades completas que simplifican el acceso a los datos para las aplicaciones. Desde la generación automática de código hasta la supervisión del rendimiento, estas características permiten crear API de datos sólidas con una configuración mínima.

Generación automática de esquemas

  • Detección de esquemas: detecta y asigna automáticamente esquemas de origen de datos a tipos graphQL
  • Generación de consultas y mutaciones: crea consultas y mutaciones de GraphQL en función de la estructura de datos
  • Generación de resolutores: genera automáticamente los resolutores necesarios para obtener datos de tus orígenes.
  • Código de prueba local: genera código de ejemplo para pruebas y desarrollo inmediatos

Flexibilidad del origen de datos

  • Varios orígenes de datos: conexión y consulta entre varios orígenes de datos con compatibilidad con consultas de distribución ramificada
  • Objetos de base de datos: compatibilidad total con tablas, vistas y procedimientos almacenados en bases de datos SQL y almacenes
  • Exposición selectiva: elija objetos y columnas específicos para exponer a través de la API.
  • Modelado de relaciones: creación de relaciones uno a uno, uno a varios y relaciones de varios a varios entre entidades de datos

Operaciones y supervisión

  • Supervisión del rendimiento: panel integrado y registro de solicitudes para realizar un seguimiento del comportamiento y el uso de la API

Evolución del esquema sin control de versiones

GraphQL adopta un enfoque único para la evolución de la API evitando el control de versiones tradicional. En lugar de crear puntos de conexión v1, v2 y v3, las API de GraphQL evolucionan continuamente:

  • Cambios aditivos: puede agregar nuevos tipos, campos y funcionalidades sin interrumpir las consultas existentes. Los clientes solo solicitan los campos que necesitan, por lo que los nuevos campos no los afectan.
  • Compatibilidad con versiones anteriores: las consultas existentes siguen funcionando incluso a medida que crece el esquema, ya que GraphQL solo devuelve datos solicitados explícitamente.
  • Desaprobación sobre eliminación: los campos se pueden marcar como en desuso en lugar de quitarse inmediatamente, lo que proporciona a los clientes tiempo de adaptación.
  • Punto de conexión único: las aplicaciones siempre se conectan al mismo punto de conexión, independientemente de los cambios de esquema.

Este enfoque simplifica el mantenimiento de api y las actualizaciones de cliente en comparación con las API con versiones tradicionales. Al modificar el esquema de GraphQL API en Fabric, las aplicaciones existentes seguirán funcionando siempre y cuando agregue nuevas funcionalidades en lugar de quitar o cambiar el nombre de los campos existentes. Para obtener más información sobre cómo administrar los cambios de esquema, consulte Fabric API for GraphQL introspection and schema export (API de Fabric para GraphQL) y exportación de esquemas.

Experiencia de edición interactiva

La API para GraphQL incluye un editor que le permite desarrollar y probar fácilmente las consultas y las mutaciones. Las funcionalidades del editor incluyen:

  • Panel de resultados para visualizar la salida de consultas y mutaciones
  • Compatibilidad con parámetros de consulta y mutación
  • IntelliSense compatible con la sintaxis de GraphQL y los nombres de los objetos del esquema

Para obtener más información sobre el uso del editor de GraphQL, consulte API para el editor de GraphQL.

Limitaciones

Consulte API para ver las limitaciones de GraphQL para obtener más información.