March 15th, 2023

Data API builder for Azure SQL Databases – Public Preview

Davide Mauri
Principal Product Manager

I am extremely happy and excited to announce the public preview of Data API builder for Azure SQL Databases. Data API builder is a new product that we are adding to the developer’s toolset to help every developer to be more efficient and effective, by instantly and securely turning Azure SQL Databases into a modern REST and GraphQL API.

Turn Azure SQL databases into APIs

Thanks to Data API builder, tables, views, and stored procedures objects can be turned into REST and GraphQL API instantly, so that data can be accessed using modern techniques on any platform, any language, and any device, using modern and well know web protocols.

Data API builder architecture overview

Data API builder can be used on any new or existing databases, without any special requirement or changes needed on the database.

Works offline

Data API builder works offline to provide a full and rich offline development experience. It can work with local SQL Servers or Azure SQL Emulators so that anything can be done offline for the maximum comfort.

Like any modern development tools, it has a dedicated CLI, the Data API builder (DAB) CLI, that allows you to run Data API builder on your machine and manage everything needed to have Data API builder up and running locally. In fact, aside the SQL Server or Azure SQL database, a configuration file is all you need:

dab init --database-type mssql --connection-string "@env('AZURE_SQL_CONNSTR')"
dab add Book --source dbo.books --permissions "anonymous:*"
dab start

Data API builder is a .NET core (so it runs on any OS: Windows, Linux and MacOS) application and is distributed via NuGet, so that it can be installed using dotnet tool. Just run:

dotnet tool install --global Microsoft.DataApiBuilder

and you will be good to go.

Open Source

Data API builder is open source. We want everyone to be able to use and take advantage of Data API builder, as we love developers, and we want them able to do more with the time they have at their hands. Let Data API builder take care of exposing SQL Server or Azure SQL database as GraphQL and REST API so that you can focus on building amazing user experiences and architectures.

We also love the community, as the #sqlfamily hashtag has clearly shown over the years, and we want to make sure Data API builder is built with a strong sense of community, so that we can make Data API builder an excellent product for everyone, together.

Source code is available here: https://aka.ms/dab

Run Data API builder on Azure

Being a .NET Core application, deployment on Azure is amazingly simple and can be done by taking advantage of the container image you can find here:

https://mcr.microsoft.com/en-us/product/azure-databases/data-api-builder/about

Using services like Azure Container Instances, Azure Kubernetes Service or even Azure Web App, Data API builder can run on Azure using the container solution you prefer.

Integrated with Static Web App

Azure Data API builder for Azure SQL Databases is integrated with Azure Static Web App (SWA), through the new Database Connection feature: deploying the entire backend to connect to your favorite database using REST or GraphQL is just a git push away.

Image Picture1

Data API builder is fully integrated also with the offline development experience provided by SWA via the SWA CLI, so that you can create a complete fullstack solution completely offline, test it on your local machine and push it into production using well-established DevOps workflows via GitHub actions.

 swa start --data-api-location ./swa-db-connections

Getting started

If you want to try it out right away, a full working example is available here: ToDo App with Data API builder, Static Web Apps and Azure SQL. It contains anything needed for a jamstack application: frontend using Vue3, backend using Data API builder and the Azure SQL Database projects.

Full documentation with a complete Getting Started guide is available here: https://aka.ms/dabdocs.

Contribute

Data API builder is Open Source, and we are thrilled for getting your ideas and feedback on how to improve Data API builder. Use the “Discussion” page available in the GitHub repo, to start a discussion, propose an idea or provide some feedback and keep it going.

What else?

Data API builder supports not only Azure SQL database and SQL Server but also all other Azure Databases like Cosmos DB, PostgreSQL, and MySQL. Look at what Data API builder can do for other databases and with Static Web Apps here:

Author

Davide Mauri
Principal Product Manager

Principal Product Manager in Azure SQL, with a career in IT spanning since 1997, earning the prestigious Data Platform MVP status for 12 consecutive years. Currently, he serves as the Principal Product Manager for Azure SQL Database, focusing on developers and AI.

1 comment

Discussion is closed. Login to edit/delete existing comments.

  • Christopher Haws

    This looks amazing! Absolutely love the integration with Static Web Apps. Hope this gets the attention it deserves! 🙂 Keep up the great work.