close
close

Microsoft announces general availability of Data API Builder for Azure Cosmos DB

Microsoft announces general availability of Data API Builder for Azure Cosmos DB

Microsoft recently announced the general availability of the Data API Builder for Azure Cosmos DB. The open-source project provides REST and GraphQL endpoints to Azure databases and on-premises stores.

The new Data API Builder (DAB) is designed to simplify the process of exposing GraphQL endpoints on Azure Cosmos DB collections, enabling relational queries, filtering, and mutations, including patch operations. DAB offers a cross-platform CLI, native OpenAPI support, Swagger for REST endpoints, and Banana Cake Pop for GraphQL endpoints.

Sajeetharan Sinnathurai, Product Manager at Azure Cosmos DB, discusses some use cases:

Whether you want to build a data exchange, create a mobile app, or modify an Azure database, Data API Builder has you covered. It seamlessly integrates with various backend stores, from NoSQL to relational databases, and effortlessly manages multiple databases at once.

Source: Microsoft Blog

Cross-platform and language-agnostic, DAB is designed to replace any custom API performing CRUD operations on a database with a single configuration file. It provides retry strategies, full logging, in-memory caching, and the ability to map columns and filter results. DAB is an ASP.NET project written in C# using ChilliCream’s Hot Chocolate for GraphQL and FusionCache for in-memory caching.

Announcing the project’s general availability, Jerry Nixon, senior product manager at Microsoft, wrote:

Nearly three years ago, Data API Builder started as a dream. How could we reduce friction for developers looking to access databases in their client applications? We built Data API Builder to solve this problem, providing secure, feature-rich REST and GraphQL endpoints on databases without code.

According to Azure, the container-based DAB allows developers to build GraphQL endpoints while maintaining granular and flexible security features. Sinnathurai adds:

DAB is a standard Docker-compatible container. It is completely stateless and scalable. You can run it in your own environment or in the cloud, it doesn’t matter. Run one or more containers on a single database or on multiple databases.

While supporting custom on-premises deployments, DAB natively integrates with Azure Static Web Apps and works with Azure Container Apps, Azure Container Instances, Azure Kubernetes Service, and Azure Web Apps for Containers.

While some developers are calling for adding Cosmos DB support for MongoDB, Arun Vijayraghavan, Principal Product Manager at Microsoft, comments:

What really sets DAB projects apart is that they bring the database closer to the edge provider. For example, edge providers like Cloudflare, Vercel, Netlify, etc. are all based on Javascript V8 or Deno, which do not have a complete set of APIs to interact with a database. So the best solution is to use REST APIs to access the database.

The Data API Builder project is free, with no premium tier, and available on GitHub under the MIT license.