Microsoft recently announced the general availability of the Data API Generator for Azure Cosmos DB. This open source project provides REST and GraphQL endpoints for Azure databases and local stores.
The Data API Builder (DAB) aims to simplify the process of exposing GraphQL endpoints to Azure Cosmos DB collections, allowing for relational queries, filtering, mutations, and patch operations. It offers a cross-platform CLI, support for OpenAPI and Swagger for REST endpoints, and Banana Cake Pop for GraphQL endpoints.
Sajeetharan Sinnathurai, the Azure Cosmos DB Product Manager, highlights the versatility of the Data API Builder in various use cases, such as building data warehouses, designing mobile apps, or experimenting with Azure databases. The tool seamlessly integrates with different backend stores, from NoSQL to relational databases, and can manage multiple databases simultaneously.
DAB is cross-platform, language-agnostic, and designed to replace custom APIs performing CRUD operations against a database with a single configuration file. It provides features like retry policies, logging, in-memory caching, and column mapping. The project is written in ASP.NET using the ChilliCream configuration tool, with support for Hot chocolate for GraphQL and Fusion Cache for in-memory caching.
Jerry Nixon, a Microsoft senior product manager, reflects on the journey of Data API Builder and how it aims to reduce friction for developers accessing databases in client applications by providing secure and feature-rich REST and GraphQL endpoints without requiring extensive coding.
Regarding security and flexibility, the container-based DAB allows developers to create GraphQL endpoints with granular security features. It is designed as a standard Docker-compatible container that is stateless and scalable, running on-premises or in the cloud.
While developers have requested Cosmos DB support for MongoDB, Arun Vijayraghavan, another Microsoft senior product manager, emphasizes DAB’s ability to bring the database closer to edge providers like Cloudflare, Vercel, and Netlify, enabling easier database access via REST APIs interact with databases using JavaScript tools.
The Data API Building Project is free, with no premium tier, and is available on GitHub under the MIT license. It natively integrates with Azure services like Static Web Apps, Container Apps, Container Instances, Kubernetes Service, and Web Apps for Containers, allowing for seamless deployment and scaling of GraphQL endpoints.
Article Source
https://www.infoq.com/news/2024/07/azure-data-api-builder-cosmos/