Aspire.Hosting.Azure.CosmosDB
8.1.0
Prefix Reserved
See the version list below for details.
dotnet add package Aspire.Hosting.Azure.CosmosDB --version 8.1.0
NuGet\Install-Package Aspire.Hosting.Azure.CosmosDB -Version 8.1.0
<PackageReference Include="Aspire.Hosting.Azure.CosmosDB" Version="8.1.0" />
paket add Aspire.Hosting.Azure.CosmosDB --version 8.1.0
#r "nuget: Aspire.Hosting.Azure.CosmosDB, 8.1.0"
// Install Aspire.Hosting.Azure.CosmosDB as a Cake Addin #addin nuget:?package=Aspire.Hosting.Azure.CosmosDB&version=8.1.0 // Install Aspire.Hosting.Azure.CosmosDB as a Cake Tool #tool nuget:?package=Aspire.Hosting.Azure.CosmosDB&version=8.1.0
Aspire.Hosting.Azure.Cosmos library
Provides extension methods and resource definitions for a .NET Aspire AppHost to configure Azure CosmosDB.
Getting started
Prerequisites
- Azure subscription - create one for free
Install the package
In your AppHost project, install the .NET Aspire Azure Cosmos DB Hosting library with NuGet:
dotnet add package Aspire.Hosting.Azure.Cosmos
Configure Azure Provisioning for local development
Adding Azure resources to the .NET Aspire application model will automatically enable development-time provisioning for Azure resources so that you don't need to configure them manually. Provisioning requires a number of settings to be available via .NET configuration. Set these values in user secrets in order to allow resources to be configured automatically.
{
"Azure": {
"SubscriptionId": "<your subscription id>",
"ResourceGroupPrefix": "<prefix for the resource group>",
"Location": "<azure location>"
}
}
NOTE: Developers must have Owner access to the target subscription so that role assignments can be configured for the provisioned resources.
Usage example
Then, in the Program.cs file of AppHost
, add a Cosmos DB connection and consume the connection using the following methods:
var cosmosdb = builder.AddAzureCosmosDB("cdb").AddDatabase("cosmosdb");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(cosmosdb);
The WithReference
method passes that connection information into a connection string named cosmosdb
in the MyService
project. In the Program.cs file of MyService
, the connection can be consumed using the client library Aspire.Microsoft.Azure.Cosmos:
builder.AddAzureCosmosClient("cosmosdb");
Emulator usage
Aspire supports the usage of the Azure Cosmos DB emulator to use the emulator, add the following to your AppHost project:
// AppHost
var cosmosdb = builder.AddAzureCosmosDB("cosmos").RunAsEmulator();
When the AppHost starts up a local container running the Azure CosmosDB will also be started:
// Service code
builder.AddAzureCosmosClient("cosmos");
Additional documentation
- https://learn.microsoft.com/azure/cosmos-db/nosql/sdk-dotnet-v3
- https://github.com/dotnet/aspire/tree/main/src/Components/README.md
Feedback & contributing
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. |
-
net8.0
- Aspire.Hosting.Azure (>= 8.1.0)
- Azure.Provisioning (>= 0.3.0)
- Azure.Provisioning.CosmosDB (>= 0.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Aspire.Hosting.Azure.CosmosDB:
Package | Downloads |
---|---|
Hexalith.Infrastructure.AspireService.Hosting
Hexalith is a set of libraries to build a micro-service architecture. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Aspire.Hosting.Azure.CosmosDB:
Repository | Stars |
---|---|
J-Tech-Japan/Sekiban
Sekiban - an Opinionated Event Sourcing and CQRS Framework using C#. It can store data into Azure Cosmos DB, AWS Dynamo DB or Postgres
|
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 2,455 | 11/12/2024 |
9.0.0-rc.1.24511.1 | 1,252 | 10/15/2024 |
8.2.2 | 3,093 | 10/24/2024 |
8.2.1 | 4,638 | 9/26/2024 |
8.2.0 | 13,511 | 8/29/2024 |
8.1.0 | 4,701 | 7/23/2024 |
8.0.2 | 2,528 | 6/28/2024 |
8.0.1 | 5,799 | 5/21/2024 |
8.0.0 | 255 | 5/21/2024 |
8.0.0-preview.7.24251.11 | 775 | 5/7/2024 |
8.0.0-preview.6.24214.1 | 2,845 | 4/23/2024 |
8.0.0-preview.5.24201.12 | 335 | 4/9/2024 |