Compartir a través de


¿Qué es Data API Builder para Azure Databases?

Data API Builder (DAB) es un motor basado en código abierto basado en configuración que crea API REST y GraphQL para bases de datos compatibles, como SQL Server, Azure Cosmos DB, PostgreSQL y MySQL. DAB se ejecuta en cualquier nube o local, y es libre de usar. Puede configurarlo mediante un único archivo JSON, por lo que puede exponer objetos de base de datos sin escribir una API personalizada.

Ilustración de la mascota del constructor de Data API con un sombrero de construcción.

Data API Builder reemplaza a la mayoría de las API de datos personalizadas que realizan operaciones CRUD genéricas (Crear, Leer, Actualizar, Eliminar) en una base de datos. DAB es independiente del lenguaje, la tecnología y el marco. No requiere ningún código de aplicación ni un único archivo de configuración. Lo mejor de todo es que es realmente gratis, sin una versión Premium y puede ejecutarse sin estado en cualquier lugar.

Soporte de puntos de conexión

Data API Builder admite puntos de conexión REST y GraphQL de forma predeterminada y simultáneamente. Con la versión 1.7 y posteriores, DAB también admite el Protocolo de contexto de modelo (MCP) para aplicaciones de agente con la misma funcionalidad enriquecida.

Diagrama de compatibilidad con puntos de conexión en Data API Builder.

DAB incluye una CLI multiplataforma, OpenTelemetry y comprobaciones de estado. También admite OpenAPI y Swagger para puntos de conexión REST y Nitro (anteriormente denominado Banana Cake Pop) para los puntos de conexión de GraphQL.

Sugerencia

Características de punto de conexión integradas:

  • Paginación de datos
  • Filtrado de datos
  • Ordenación de datos
  • Selección de columnas
  • Procedimientos almacenados
  • Navegación de relaciones

Compatibilidad con bases de datos

Data API Builder (DAB) admite varios orígenes de datos back-end simultáneamente, incluidos los orígenes relacionales y NoSQL. Las bases de datos admitidas incluyen SQL Server y Azure SQL, Azure Cosmos DB, PostgreSQL y MySQL. Para más información y limitaciones por base de datos, consulte Características específicas de la base de datos.

Diagrama de bases de datos admitidas para Data API Builder.

Data API Builder puede conectarse a varios orígenes de datos al mismo tiempo. Puede combinar orígenes relacionales con bases de datos JSON o de documentos y mezclar bases de datos locales y en la nube. Esta flexibilidad permite que DAB admita todo, desde configuraciones sencillas hasta topologías de implementación complejas.

Security

Su contenedor sin estado y compatible con Docker se puede proteger con EasyAuth, Microsoft Entra Identity o cualquier servidor json Web Token (JWT) que elija una empresa. Tiene un motor de políticas flexible, controles de seguridad granulares y pasa automáticamente los datos de reclamaciones al contexto de sesión de SQL.

Diagrama de opciones de autenticación para Data API Builder.

Arquitectura

Este diagrama desglosa la relación entre todos los componentes del generador de Data API. Comienza con el esquema de la base de datos, que define tablas, vistas y procedimientos almacenados. El archivo de configuración DAB proyecta estos objetos en una capa de abstracción. En esa capa, asigne un nombre a las entidades, seleccione o campos de alias, defina relaciones y aplique permisos. En tiempo de ejecución, Data API Builder lee esta configuración para generar una superficie de API coherente, exponiendo el mismo modelo de entidad a través de puntos de conexión REST y GraphQL. Esta separación le permite evolucionar la base de datos de forma independiente al tiempo que mantiene un contrato estable y seguro para aplicaciones y clientes.

Diagrama de la arquitectura del generador de data API.

El generador de Data API se configura con un único archivo JSON. En el archivo, defina lo siguiente:

  • Cómo se conecta el servidor a orígenes de datos
  • Qué tablas, vistas y procedimientos almacenados se exponen
  • Cómo se forman, nombran y relacionan las entidades
  • Qué roles pueden acceder a cada operación

Opciones de implementación

Diagrama de opciones de hospedaje de contenedores para Data API Builder.

DAB funciona perfectamente con Azure Container Apps, Azure Container Instances, Azure Kubernetes Service y Azure Web Apps for Containers. DAB funciona con estos servicios, a la vez que admite implementaciones personalizadas y locales.

Integraciones y funcionalidades

DAB también se integra perfectamente con Application Insights. El archivo de configuración puede reflejar las relaciones en la base de datos o definir nuevas, virtuales, con soporte para la recarga activa. Los puntos de conexión de GraphQL permiten varias instrucciones Create anidadas dentro de una sola transacción, mientras que los puntos de conexión REST cuentan con almacenamiento en caché en memoria y compatibilidad enriquecida con palabras clave de cadena de consulta similares a OData.

Menos código, más características

DAB puede ayudar a reducir el código de API personalizado, acortar las canalizaciones de CI/CD e introducir estándares y funcionalidades avanzadas que normalmente están reservadas para los equipos de desarrollo más grandes. Es seguro y enriquecido con características, mientras permanece increíblemente simple, escalable y observable.

Código Abierto

Data API Builder es de código abierto y se publica bajo la licencia MIT. El repositorio está disponible en GitHub en azure/data-api-builder.