# AzureCosmosExtensions

- Kind: `class`
- Package: [Aspire.Hosting.Azure.CosmosDB](/reference/api/csharp/aspire.hosting.azure.cosmosdb.md)
- Version: `13.4.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Azure.CosmosDB/AzureCosmosDBExtensions.cs)

Extension methods for adding Azure Cosmos DB resources to the application model.

## Definition

```csharp
namespace Aspire.Hosting;

public static class AzureCosmosExtensions
{
    // ...
}
```

## Methods

- [AddAzureCosmosDB(IDistributedApplicationBuilder, string)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#addazurecosmosdb-idistributedapplicationbuilder-string) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `ats export` -- Adds an Azure Cosmos DB connection to the application model.
- [AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, string, string?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#addcontainer-iresourcebuilder-azurecosmosdbdatabaseresource-string-string-string) : `IResourceBuilder<AzureCosmosDBContainerResource>` `extension` `ats ignored` -- Adds a container to the associated Cosmos DB database resource.
- [AddContainer(IResourceBuilder<AzureCosmosDBDatabaseResource>, string, IEnumerable<string>, string?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#addcontainer-iresourcebuilder-azurecosmosdbdatabaseresource-string-ienumerable-string-string) : `IResourceBuilder<AzureCosmosDBContainerResource>` `extension` `ats ignored` -- Adds a container to the associated Cosmos DB database resource with hierarchical partition keys.
- [AddCosmosDatabase(IResourceBuilder<AzureCosmosDBResource>, string, string?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#addcosmosdatabase-iresourcebuilder-azurecosmosdbresource-string-string) : `IResourceBuilder<AzureCosmosDBDatabaseResource>` `extension` `ats export` -- Adds a database to the associated Cosmos DB account resource.
- [AddDatabase(IResourceBuilder<AzureCosmosDBResource>, string)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#adddatabase-iresourcebuilder-azurecosmosdbresource-string) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `obsolete` `ats ignored` -- Adds a database to the associated Cosmos DB account resource.
- [RunAsEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#runasemulator-iresourcebuilder-azurecosmosdbresource-action-iresourcebuilder-azurecosmosdbemulatorresource) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `ats export` -- Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an [AzureCosmosDBResource](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosdbresource.md) 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](https://learn.microsoft.com/azure/cosmos-db/emulator#authentication).
- [RunAsPreviewEmulator(IResourceBuilder<AzureCosmosDBResource>, Action<IResourceBuilder<AzureCosmosDBEmulatorResource>>)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#runaspreviewemulator-iresourcebuilder-azurecosmosdbresource-action-iresourcebuilder-azurecosmosdbemulatorresource) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `experimental` `ats export` -- 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](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosdbresource.md) 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](https://learn.microsoft.com/azure/cosmos-db/emulator-linux).
- [WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withaccesskeyauthentication-iresourcebuilder-azurecosmosdbresource) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `ats ignored` -- Configures the resource to use access key authentication with Azure Cosmos DB.
- [WithAccessKeyAuthentication(IResourceBuilder<AzureCosmosDBResource>, IResourceBuilder<IAzureKeyVaultResource>)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withaccesskeyauthentication-iresourcebuilder-azurecosmosdbresource-iresourcebuilder-iazurekeyvaultresource) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `ats ignored` -- Configures the resource to use access key authentication with Azure Cosmos DB.
- [WithDataExplorer(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withdataexplorer-iresourcebuilder-azurecosmosdbemulatorresource-int) : `IResourceBuilder<AzureCosmosDBEmulatorResource>` `extension` `experimental` `ats export` -- Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint.
- [WithDataVolume(IResourceBuilder<AzureCosmosDBEmulatorResource>, string?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withdatavolume-iresourcebuilder-azurecosmosdbemulatorresource-string) : `IResourceBuilder<AzureCosmosDBEmulatorResource>` `extension` `ats export` -- Adds a named volume for the data folder to an Azure Cosmos DB emulator resource.
- [WithDefaultAzureSku(IResourceBuilder<AzureCosmosDBResource>)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withdefaultazuresku-iresourcebuilder-azurecosmosdbresource) : `IResourceBuilder<AzureCosmosDBResource>` `extension` `ats export` -- Configures the Azure Cosmos DB resource to be deployed use the default SKU provided by Azure.
- [WithGatewayPort(IResourceBuilder<AzureCosmosDBEmulatorResource>, int?)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withgatewayport-iresourcebuilder-azurecosmosdbemulatorresource-int) : `IResourceBuilder<AzureCosmosDBEmulatorResource>` `extension` `ats export` -- Configures the gateway port for the Azure Cosmos DB emulator.
- [WithPartitionCount(IResourceBuilder<AzureCosmosDBEmulatorResource>, int)](/reference/api/csharp/aspire.hosting.azure.cosmosdb/azurecosmosextensions/methods.md#withpartitioncount-iresourcebuilder-azurecosmosdbemulatorresource-int) : `IResourceBuilder<AzureCosmosDBEmulatorResource>` `extension` `ats export` -- Configures the partition count for the Azure Cosmos DB emulator.
