AzureCosmosExtensions Methods
Class Methods 14 members
Extension methods for adding Azure Cosmos DB resources to the application model.
AddAzureCosmosDB(IDistributedApplicationBuilder, string) Section titled AddAzureCosmosDB(IDistributedApplicationBuilder, string) extension IResourceBuilder<AzureCosmosDBResource> Adds an Azure Cosmos DB connection to the application model.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> AddAzureCosmosDB( this IDistributedApplicationBuilder builder, string name) { // ... }}Parameters
builder IDistributedApplicationBuilder The Hosting.IDistributedApplicationBuilder. name string The name of the resource. This name will be used as the connection string name when referenced in a dependency. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1. AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, string, string?) Section titled AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, string, string?) extension IResourceBuilder<AzureCosmosDBContainerResource> Adds a container to the associated Cosmos DB database resource.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBContainerResource> AddContainer( this IResourceBuilder<AzureCosmosDBDatabaseResource> builder, string name, string partitionKeyPath, string? containerName = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBDatabaseResource> CosmosDBDatabase resource builder. name string Name of container resource. partitionKeyPath string Partition key path for the container. containerName string? optional The name of the container. If not provided, this defaults to the same value as name. Returns
IResourceBuilder<AzureCosmosDBContainerResource> A reference to the ApplicationModel.IResourceBuilder`1. AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, IEnumerable<string>, string?) Section titled AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, IEnumerable<string>, string?) extension IResourceBuilder<AzureCosmosDBContainerResource> Adds a container to the associated Cosmos DB database resource with hierarchical partition keys.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBContainerResource> AddContainer( this IResourceBuilder<AzureCosmosDBDatabaseResource> builder, string name, IEnumerable<string> partitionKeyPaths, string? containerName = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBDatabaseResource> CosmosDBDatabase resource builder. name string Name of container resource. partitionKeyPaths IEnumerable<string> Hierarchical partition key paths for the container. containerName string? optional The name of the container. If not provided, this defaults to the same value as name. Returns
IResourceBuilder<AzureCosmosDBContainerResource> A reference to the ApplicationModel.IResourceBuilder`1. AddCosmosDatabase(IResourceBuilder<AzureCosmosDBResource>, string, string?) Section titled AddCosmosDatabase(IResourceBuilder<AzureCosmosDBResource>, string, string?) extension IResourceBuilder<AzureCosmosDBDatabaseResource> Adds a database to the associated Cosmos DB account resource.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBDatabaseResource> AddCosmosDatabase( this IResourceBuilder<AzureCosmosDBResource> builder, string name, string? databaseName = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> AzureCosmosDB resource builder. name string The name of the database resource. databaseName string? optional The name of the database. If not provided, this defaults to the same value as name. Returns
IResourceBuilder<AzureCosmosDBDatabaseResource> A reference to the ApplicationModel.IResourceBuilder`1. AddDatabase(IResourceBuilder<AzureCosmosDBResource>, string) Section titled AddDatabase(IResourceBuilder<AzureCosmosDBResource>, string) extension IResourceBuilder<AzureCosmosDBResource> Adds a database to the associated Cosmos DB account resource.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> AddDatabase( this IResourceBuilder<AzureCosmosDBResource> builder, string databaseName) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> AzureCosmosDB resource builder. databaseName string Name of database. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1. RunAsEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>) Section titled RunAsEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>) extension IResourceBuilder<AzureCosmosDBResource> Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an
AzureCosmosDBResource to be added to the application model. For more information on the Azure Cosmos DB emulator, see https://learn.microsoft.com/azure/cosmos-db/emulator#authentication. public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> RunAsEmulator( this IResourceBuilder<AzureCosmosDBResource> builder, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>? configureContainer = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> The Azure Cosmos DB resource builder. configureContainer Action<IResourceBuilder<AzureCosmosDBEmulatorResource>> optional Callback that exposes underlying container used for emulation to allow for customization. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1. Remarks
When using the Azure Cosmos DB emulator, the container requires a TLS/SSL certificate. For more information, see https://learn.microsoft.com/azure/cosmos-db/how-to-develop-emulator?tabs=docker-linux#export-the-emulators-tlsssl-certificate. This version of the package defaults to the tag of the / container image.
RunAsPreviewEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>) Section titled RunAsPreviewEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>) extension IResourceBuilder<AzureCosmosDBResource> Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB Linux-based emulator (preview) with the NoSQL API. This resource requires an
AzureCosmosDBResource to be added to the application model. For more information on the Azure Cosmos DB emulator, see https://learn.microsoft.com/azure/cosmos-db/emulator-linux. public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> RunAsPreviewEmulator( this IResourceBuilder<AzureCosmosDBResource> builder, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>? configureContainer = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> The Azure Cosmos DB resource builder. configureContainer Action<IResourceBuilder<AzureCosmosDBEmulatorResource>> optional Callback that exposes underlying container used for emulation to allow for customization. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1. Remarks
This version of the package defaults to the tag of the / container image.
WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>) Section titled WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>) extension IResourceBuilder<AzureCosmosDBResource> Configures the resource to use access key authentication with Azure Cosmos DB.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> WithAccessKeyAuthentication( this IResourceBuilder<AzureCosmosDBResource> builder) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> The Azure Cosmos DB resource builder. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1 builder. Remarks
The following example creates an Azure Cosmos DB resource that uses access key authentication.
var builder = DistributedApplication.CreateBuilder(args);
var cosmosdb = builder.AddAzureCosmosDB("cache") .WithAccessKeyAuthentication();
builder.AddProject<Projects.ProductService>() .WithReference(cosmosdb);
builder.Build().Run();WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>, IResourceBuilder<IAzureKeyVaultResource>) Section titled WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>, IResourceBuilder<IAzureKeyVaultResource>) extension IResourceBuilder<AzureCosmosDBResource> Configures the resource to use access key authentication with Azure Cosmos DB.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> WithAccessKeyAuthentication( this IResourceBuilder<AzureCosmosDBResource> builder, IResourceBuilder<IAzureKeyVaultResource> keyVaultBuilder) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> The Azure Cosmos DB resource builder. keyVaultBuilder IResourceBuilder<IAzureKeyVaultResource> The Azure Key Vault resource builder where the connection string used to connect to this AzureCosmosDBResource will be stored. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1 builder. WithDataExplorer(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?) Section titled WithDataExplorer(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?) extension IResourceBuilder<AzureCosmosDBEmulatorResource> Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBEmulatorResource> WithDataExplorer( this IResourceBuilder<AzureCosmosDBEmulatorResource> builder, int? port = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container port int? optional Optional host port to bind the Data Explorer to. Returns
IResourceBuilder<AzureCosmosDBEmulatorResource> Cosmos emulator resource builder. Remarks
The Data Explorer is only available with
AzureCosmosExtensions.RunAsPreviewEmulator. WithDataVolume(IResourceBuilder<AzureCosmosDBEmulatorResource>, string?) Section titled WithDataVolume(IResourceBuilder<AzureCosmosDBEmulatorResource>, string?) extension IResourceBuilder<AzureCosmosDBEmulatorResource> Adds a named volume for the data folder to an Azure Cosmos DB emulator resource.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBEmulatorResource> WithDataVolume( this IResourceBuilder<AzureCosmosDBEmulatorResource> builder, string? name = null) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBEmulatorResource> The builder for the AzureCosmosDBEmulatorResource. name string? optional The name of the volume. Defaults to an auto-generated name based on the application and resource names. Returns
IResourceBuilder<AzureCosmosDBEmulatorResource> A builder for the AzureCosmosDBEmulatorResource. WithDefaultAzureSku(IResourceBuilder<AzureCosmosDBResource>) Section titled WithDefaultAzureSku(IResourceBuilder<AzureCosmosDBResource>) extension IResourceBuilder<AzureCosmosDBResource> Configures the Azure Cosmos DB resource to be deployed use the default SKU provided by Azure.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBResource> WithDefaultAzureSku( this IResourceBuilder<AzureCosmosDBResource> builder) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBResource> The builder for the Azure Cosmos DB resource. Returns
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1. WithGatewayPort(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?) Section titled WithGatewayPort(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?) extension IResourceBuilder<AzureCosmosDBEmulatorResource> Configures the gateway port for the Azure Cosmos DB emulator.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBEmulatorResource> WithGatewayPort( this IResourceBuilder<AzureCosmosDBEmulatorResource> builder, int? port) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container port int? Host port to bind to the emulator gateway port. Returns
IResourceBuilder<AzureCosmosDBEmulatorResource> Cosmos emulator resource builder. WithPartitionCount(IResourceBuilder<AzureCosmosDBEmulatorResource>, int) Section titled WithPartitionCount(IResourceBuilder<AzureCosmosDBEmulatorResource>, int) extension IResourceBuilder<AzureCosmosDBEmulatorResource> Configures the partition count for the Azure Cosmos DB emulator.
public static class AzureCosmosExtensions{ public static IResourceBuilder<AzureCosmosDBEmulatorResource> WithPartitionCount( this IResourceBuilder<AzureCosmosDBEmulatorResource> builder, int count) { // ... }}Parameters
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container count int Desired partition count. Returns
IResourceBuilder<AzureCosmosDBEmulatorResource> Cosmos emulator resource builder. Remarks
Not calling this method will result in the default of 10 partitions. The actual started partitions is always one more than specified. See this documentation about setting the partition count.