Expón tu base de datos como API en minutos (Data API Builder para Azure Databases)

Uno de los mayores cuellos de botella en el desarrollo de aplicaciones es la creación de APIs. Aunque existen frameworks muy potentes, siguen requiriendo tiempo, mantenimiento y una capa adicional de complejidad.
Aquí es donde entra en juego Data API Builder (DAB), una herramienta que cambia el enfoque: en lugar de construir una API encima de la base de datos, la genera directamente a partir de ella.
¿Qué es Data API Builder?
Data API Builder es una herramienta open source de Microsoft diseñada para exponer bases de datos como APIs REST y GraphQL de forma automática.
Está especialmente pensada para trabajar con:
- Azure SQL Database
- SQL Server
- PostgreSQL
- Azure Cosmos DB
Su principal ventaja es que elimina la necesidad de desarrollar un backend tradicional para muchos casos de uso.
¿Qué problema resuelve?
En un escenario típico:
- Tienes una base de datos
- Necesitas una API
- Desarrollas un backend (Node, .NET, Python…)
- Añades endpoints, seguridad, validaciones…
Con DAB, ese flujo se simplifica:
- Tienes una base de datos
- Defines una configuración
- Ya tienes API
Esto reduce:
- Tiempo de desarrollo
- Costes de mantenimiento
- Complejidad arquitectónica
Arquitectura simplificada
Sin DAB:
Frontend → Backend → Base de datos
Con DAB:
Frontend → Data API Builder → Base de datos
Elimina una capa completa.
Cómo funciona realmente
Data API Builder actúa como una capa intermedia que:
- Se conecta a la base de datos
- Interpreta la configuración
- Genera endpoints dinámicamente
- Aplica reglas de seguridad
Todo esto a través de un archivo de configuración (dab-config.json).
Cuándo elegir DAB vs backend tradicional
| Escenario | DAB | Backend tradicional |
| MVP rápido | ✅ | ❌ |
| CRUD simple | ✅ | ❌ |
| Lógica compleja | ❌ | ✅ |
| Alto control | ❌ | ✅ |
| Integraciones avanzadas | ❌ | ✅ |
Puesta en marcha
Requisitos
Antes de empezar, necesitamos entender qué estamos instalando:
- .NET Runtime: es el entorno necesario para ejecutar aplicaciones desarrolladas en .NET. Data API Builder está construido sobre .NET, por lo que necesita este runtime para funcionar.
- NuGet: es el gestor de paquetes de .NET. Permite descargar herramientas y librerías, como Data API Builder.
- Data API Builder (DAB)
1. Instalar .NET 8 runtime
Descarga e instala la versión 8.0.25:
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-8.0.25-windows-x64-installer
Los siguientes pasos son en cmd
2. Añadir el repositorio de NuGet
En algunos entornos es necesario añadir manualmente NuGet:
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
3. Instalar Data API Builder
dotnet tool install --global Microsoft.DataApiBuilder
Esto instalará el comando dab en tu sistema.
4. Preparar el entorno
Creamos una carpeta donde vivirá la configuración de la API:
mkdir C:\dab-demo
cd C:\dab-demo
Esta carpeta contendrá el archivo dab-config.json, que define cómo se expone la base de datos.
5. Inicializar Data API Builder
dab init --database-type "mssql" ^
--host-mode "Development" ^
--connection-string "Server=.\natillas;Database=BlogDemo;User Id=natilla;Password=natilla;TrustServerCertificate=true;Encrypt=true;"
Este comando:
- Conecta con SQL Server
- Genera el archivo de configuración
- Prepara la API
6. Añadir entidades (tablas)
dab add Customers --source "dbo.Customers" --permissions "anonymous:*"
dab add Orders --source "dbo.Orders" --permissions "anonymous:*"
dab add OrderItems --source "dbo.OrderItems" --permissions "anonymous:*"
Aquí estamos indicando qué tablas queremos exponer como API.
El permiso anonymous:* permite acceso completo sin autenticación (solo para pruebas).
7. Arrancar la API
dab start
Endpoints disponibles
Una vez que Data API Builder está en ejecución, expone automáticamente varios endpoints que nos permiten interactuar con los datos de diferentes formas. Esto es especialmente útil porque, sin desarrollar ningún backend, ya disponemos de una API completa con documentación incluida.
A continuación, se muestran los principales endpoints generados:
- REST API: permite consultar y manipular los datos mediante peticiones HTTP.
Ejemplo con la tabla orders:http://localhost:5000/api/Orders



- Swagger (OpenAPI): proporciona una interfaz visual para explorar y probar los endpoints disponibles sin necesidad de herramientas externas.
http://localhost:5000/swagger




- GraphQL: permite realizar consultas más flexibles y obtener datos estructurados según las necesidades del cliente.
http://localhost:5000/graphql


Estos endpoints permiten validar rápidamente que la API funciona correctamente y sirven como base para integraciones con aplicaciones, dashboards o herramientas de análisis.
¿Qué acabamos de hacer?
En pocos pasos hemos conseguido:
- Conectar SQL Server
- Generar una API automáticamente
- Exponer endpoints REST
- Disponer de GraphQL sin código
Todo ello sin desarrollar un backend tradicional.
Próximos pasos
Una vez tenemos la API funcionando, el siguiente paso es evolucionar el proyecto hacia un entorno más realista y preparado para producción.
Seguridad real (roles)
En el ejemplo hemos utilizado permisos abiertos (anonymous:*), lo cual es útil para pruebas, pero no es adecuado en entornos productivos.
Data API Builder permite definir:
- Roles de acceso (por ejemplo:
anonymous,authenticated) - Permisos por entidad
- Restricciones por tipo de operación (lectura, escritura, etc.)
Esto permite controlar quién puede acceder a qué datos y cómo, integrándose además con sistemas de autenticación como Azure Entra ID.
Despliegue en Azure
Una vez validado el funcionamiento en local, el siguiente paso es llevar la API a la nube.
Un despliegue típico incluiría:
- Azure App Service para alojar Data API Builder
- Azure SQL Database como base de datos
- Managed Identity para gestionar la autenticación sin credenciales
- Configuración de variables de entorno para la conexión
Esto permite tener una API completamente gestionada, escalable y accesible desde cualquier aplicación.
Conclusión
Data API Builder es una herramienta que encaja perfectamente en escenarios donde la velocidad y la simplicidad son clave.
No sustituye a un backend completo, pero sí cubre un gran porcentaje de casos donde realmente solo necesitas exponer datos.
Si trabajas con Azure y bases de datos… merece mucho la pena probarlo.
Artículos de la Serie SQL Server 2025
- Parte 1: Todas las novedades de SQL Server 2025
- Parte 2: Optimized Locking en SQL Server 2025
- Parte 3: Nuevo algoritmo compresión backup ZSTD para SQL Server 2025
- Parte 4: Change Event Streaming (CES) en SQL Server 2025
- Parte 5: SQL Server 2025 mejora el rendimiento de JSON con índices y nuevas funciones
- Parte 6: Vector Search en SQL Server 2025: tipo VECTOR y DiskANN
- Parte 7: Cómo usar expresiones regulares (REGEX) en SQL Server 2025
- Parte 8: Novedades de Intelligent Query Processing en SQL Server 2025
- Parte 9: Novedades de SQL Server Management Studio
- Parte 10: Data API Builder para Azure Databases
I am a data engineer with experience in SQL Server and data analysis. I am certified in database administration and specialized in designing efficient and secure environments for database applications. My approach includes the application of analysis techniques to extract valuable information and support strategic decision making.
