Skip to content
Docs Try Aspire

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)
{
// ...
}
}
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.
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)
{
// ...
}
}
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.
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)
{
// ...
}
}
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.
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)
{
// ...
}
}
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.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBResource> AzureCosmosDB resource builder.
databaseName string Name of database.
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)
{
// ...
}
}
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.
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1.
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)
{
// ...
}
}
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.
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBResource> The Azure Cosmos DB resource builder.
IResourceBuilder<AzureCosmosDBResource> A reference to the ApplicationModel.IResourceBuilder`1 builder.
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)
{
// ...
}
}
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.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container
port int? optional Optional host port to bind the Data Explorer to.
IResourceBuilder<AzureCosmosDBEmulatorResource> Cosmos emulator resource builder.
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)
{
// ...
}
}
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.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBResource> The builder for the Azure Cosmos DB resource.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container
port int? Host port to bind to the emulator gateway port.
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)
{
// ...
}
}
builder IResourceBuilder<AzureCosmosDBEmulatorResource> Builder for the Cosmos emulator container
count int Desired partition count.
IResourceBuilder<AzureCosmosDBEmulatorResource> Cosmos emulator resource builder.
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.