Aspire.Hosting.Azure.CosmosDB 9.0.0

Prefix Reserved
dotnet add package Aspire.Hosting.Azure.CosmosDB --version 9.0.0                
NuGet\Install-Package Aspire.Hosting.Azure.CosmosDB -Version 9.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aspire.Hosting.Azure.CosmosDB" Version="9.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspire.Hosting.Azure.CosmosDB --version 9.0.0                
#r "nuget: Aspire.Hosting.Azure.CosmosDB, 9.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aspire.Hosting.Azure.CosmosDB as a Cake Addin
#addin nuget:?package=Aspire.Hosting.Azure.CosmosDB&version=9.0.0

// Install Aspire.Hosting.Azure.CosmosDB as a Cake Tool
#tool nuget:?package=Aspire.Hosting.Azure.CosmosDB&version=9.0.0                

Aspire.Hosting.Azure.Cosmos library

Provides extension methods and resource definitions for a .NET Aspire AppHost to configure Azure CosmosDB.

Getting started

Prerequisites

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

Feedback & contributing

https://github.com/dotnet/aspire

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 (2)

Showing the top 2 popular GitHub repositories that depend on Aspire.Hosting.Azure.CosmosDB:

Repository Stars
IEvangelist/azure-cosmos-dotnet-repository
Wraps the .NET SDK for Azure Cosmos DB abstracting away the complexity, exposing a simple CRUD-based repository pattern
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 6,989 11/12/2024
9.0.0-rc.1.24511.1 1,743 10/15/2024
8.2.2 3,777 10/24/2024
8.2.1 4,925 9/26/2024
8.2.0 14,740 8/29/2024
8.1.0 4,869 7/23/2024
8.0.2 2,543 6/28/2024
8.0.1 6,200 5/21/2024
8.0.0 295 5/21/2024
8.0.0-preview.7.24251.11 779 5/7/2024
8.0.0-preview.6.24214.1 2,856 4/23/2024
8.0.0-preview.5.24201.12 338 4/9/2024