Aspire.Hosting.Azure.CosmosDB 8.0.0-preview.7.24251.11

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This is a prerelease version of Aspire.Hosting.Azure.CosmosDB.
dotnet add package Aspire.Hosting.Azure.CosmosDB --version 8.0.0-preview.7.24251.11
NuGet\Install-Package Aspire.Hosting.Azure.CosmosDB -Version 8.0.0-preview.7.24251.11
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="8.0.0-preview.7.24251.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspire.Hosting.Azure.CosmosDB --version 8.0.0-preview.7.24251.11
#r "nuget: Aspire.Hosting.Azure.CosmosDB, 8.0.0-preview.7.24251.11"
#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=8.0.0-preview.7.24251.11&prerelease

// Install Aspire.Hosting.Azure.CosmosDB as a Cake Tool
#tool nuget:?package=Aspire.Hosting.Azure.CosmosDB&version=8.0.0-preview.7.24251.11&prerelease

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

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0-preview.7.24251.11 489 5/7/2024
8.0.0-preview.6.24214.1 880 4/23/2024
8.0.0-preview.5.24201.12 292 4/9/2024