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