Compartir a través de


¿Qué es Data API Builder para Azure Databases?

Data API Builder (DAB) proporciona una API REST a través de una base de datos. También proporciona una API de GraphQL. Admite no solo SQL Server, sino Azure SQL Database, Azure Cosmos DB, PostgreSQL, MySQL y SQL Data Warehouse. DAB se ejecuta en cualquier nube o local, y es de código abierto y es libre de usar. Es seguro, enriquecido con características y un componente fundamental de Microsoft Fabric, que es otra manera de decir que es de alto rendimiento y capaz de controlar operaciones masivas de datos.

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. Requiere código cero y 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.

Ilustración de la mascota creada por el generador de API de datos, que es una base de datos con un sombrero de construcción que presenta un logotipo de nube.

Data API Builder está diseñado para desarrolladores. DAB cuenta con una CLI multiplataforma, Open Telemetry y Health Checks con OpenAPI nativo, Swagger para puntos de conexión REST y Nitro (anteriormente denominado Banana Cake Pop) para los puntos de conexión graphQL. 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.

Data API Builder (DAB) admite varios orígenes de datos back-end simultáneamente, incluidos los orígenes relacionales y NoSQL. 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.

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

DAB es compatible con:

  • Servidor SQL
  • Azure SQL
  • Azure Cosmos DB para NoSQL
  • PostgreSQL
  • Base de Datos de Azure para PostgreSQL
  • Azure Cosmos DB para PostgreSQL
  • MySQL (en inglés)
  • Base de Datos Azure para MySQL
  • Azure SQL Data Warehouse

DAB puede reducir un código base típico en un tercio, eliminar conjuntos de pruebas unitarias, acortar canalizaciones de CI/CD e introducir estándares y funcionalidades avanzadas reservadas normalmente para los equipos de desarrollo más grandes. Es seguro y enriquecido con características, mientras permanece increíblemente simple, escalable y observable.

Arquitectura

Este diagrama desglosa la relación entre todos los componentes del generador de Data API.

Diagrama que muestra información general de la arquitectura de Data API Builder. El diagrama incluye archivos de esquema, abstracciones, archivos de configuración y puntos de conexión de GraphQL+REST resultantes.

Características clave

  • Compatibilidad con colecciones NoSQL
  • Compatibilidad con tablas relacionales, vistas y procedimientos almacenados
  • Compatibilidad con varios orígenes de datos simultáneos
  • Compatibilidad con la autenticación mediante OAuth2/JWT
  • Compatibilidad con EasyAuth y Microsoft Entra Identity
  • Autorización basada en roles mediante declaraciones recibidas
  • Seguridad de nivel de elemento mediante expresiones de directiva
  • Puntos de conexión REST
    • POST, GET, PUT, PATCH, DELETE
    • Filtrado, ordenación y paginación
    • Caché en memoria
    • Compatibilidad con OpenAPI
  • Puntos de conexión de GraphQL
    • Consultas y modificaciones
    • Filtrado, ordenación y paginación
    • Navegación de relaciones
    • Esquemas dinámicos
  • Desarrollo sencillo a través de la CLI dedicada
  • Código abierto y gratis

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.