CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder
9.0.0
Prefix Reserved
dotnet add package CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder --version 9.0.0
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder -Version 9.0.0
<PackageReference Include="CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder" Version="9.0.0" />
paket add CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder --version 9.0.0
#r "nuget: CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder, 9.0.0"
// Install CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder as a Cake Addin #addin nuget:?package=CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder&version=9.0.0 // Install CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder as a Cake Tool #tool nuget:?package=CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder&version=9.0.0
CommunityToolkit.Hosting.Azure.DataApiBuilder
Overview
This .NET Aspire Integration runs Data API builder in a container. Data API builder generates secure, feature-rich REST and GraphQL endpoints for Tables, Views and Stored Procedures performing CRUD (Create, Read, Update, Delete, Execute) operations against Azure SQL Database, SQL Server, PostgreSQL, MySQL and Azure CosmosDB.
Usage
Example 1: Single data source
var builder = DistributedApplication.CreateBuilder(args);
var sqlDatabase = builder
.AddSqlServer("your-server-name")
.AddDatabase("your-database-name");
var dab = builder.AddDataAPIBuilder("dab")
.WithReference(sqlDatabase)
.WaitFor(sqlDatabase);
var app = builder
.AddProject<Projects.Client>()
.WithReference(dab);
builder.Build().Run();
Example 2: Multiple data sources
var builder = DistributedApplication.CreateBuilder(args);
var sqlDatabase1 = builder
.AddSqlServer("your-server-name")
.AddDatabase("your-database-name");
var sqlDatabase2 = builder
.AddSqlServer("your-server-name")
.AddDatabase("your-database-name");
var dab = builder.AddDataAPIBuilder("dab",
"./dab-config-1.json",
"./dab-config-2.json")
.WithReference(sqlDatabase1)
.WithReference(sqlDatabase2)
.WaitFor(sqlDatabase1)
.WaitFor(sqlDatabase2);
var app = builder
.AddProject<Projects.Client>()
.WithReference(dab);
builder.Build().Run();
Note: All files are mounted/copied to the same
/App
folder.
Example 3: Cosmos DB and a schema file
var builder = DistributedApplication.CreateBuilder(args);
var cosmosdb = builder
.AddAzureCosmosDB("myNewCosmosAccountName")
.AddDatabase("myCosmosDatabaseName");
var dab = builder.AddDataAPIBuilder("dab",
"./dab-config.json",
"./schema.graphql")
.WithReference(cosmosdb)
.WaitFor(cosmosdb);
var app = builder
.AddProject<Projects.Client>()
.WithReference(dab);
builder.Build().Run();
Example 4: Connection string-only
var builder = DistributedApplication.CreateBuilder(args);
var sqlDatabase = builder
.AddConnectionString("your-cs-name");
var dab = builder.AddDataAPIBuilder("dab")
.WithReference(sqlDatabase);
var app = builder
.AddProject<Projects.Client>()
.WithReference(dab);
builder.Build().Run();
Configuration
name
- The name of the resource.port
- The optional port number for the Data API builder container. Defaults torandom
.configFilePaths
- Opiotnal paths to the config/schema file(s) for Data API builder. Default is./dab-config.json
.
Data API builder Container Image Configuration
You can specify custom registry/image/tag values by using the WithImageRegistry
/WithImage
/WithImageTag
methods:
var dab = builder.AddDataAPIBuilder("dab")
.WithImageRegistry("mcr.microsoft.com")
.WithImage("azure-databases/data-api-builder")
.WithImageTag("latest");
Known Issues
The current imlpementation of the Data API builder .NET Aspire integration does not support HTTPS endpoints. However, this is only a dev-time consideration. Service discovery when published can use HTTPS without any problems.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
-
net8.0
- Aspire.Hosting (>= 9.0.0)
-
net9.0
- Aspire.Hosting (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 0 | 11/15/2024 |
9.0.0-beta.76 | 0 | 11/14/2024 |
9.0.0-beta.75 | 16 | 11/14/2024 |
9.0.0-beta.74 | 20 | 11/14/2024 |
9.0.0-beta.73 | 22 | 11/14/2024 |
9.0.0-beta.72 | 24 | 11/14/2024 |
9.0.0-beta.71 | 29 | 11/13/2024 |
9.0.0-beta.70 | 35 | 11/13/2024 |
9.0.0-beta.69 | 26 | 11/13/2024 |
9.0.0-beta.68 | 26 | 11/13/2024 |
9.0.0-beta.67 | 28 | 11/13/2024 |
9.0.0-beta.66 | 31 | 11/13/2024 |
9.0.0-beta.63 | 32 | 11/12/2024 |
9.0.0-beta.54 | 38 | 10/31/2024 |
1.0.0-beta.60 | 42 | 11/11/2024 |
1.0.0-beta.58 | 38 | 11/4/2024 |
1.0.0-beta.57 | 33 | 11/1/2024 |
1.0.0-beta.56 | 32 | 11/1/2024 |
1.0.0-beta.55 | 32 | 11/1/2024 |