Create a container in Azure Cosmos DB for NoSQL

APPLIES TO: NoSQL

This article explains the different ways to create an container in Azure Cosmos DB for NoSQL. It shows how to create a container using the Azure portal, Azure CLI, PowerShell, or supported SDKs. This article demonstrates how to create a container, specify the partition key, and provision throughput.

This article explains the different ways to create a container in Azure Cosmos DB for NoSQL. If you are using a different API, see API for MongoDB, API for Cassandra, API for Gremlin, and API for Table articles to create the container.

Note

When creating containers, make sure you don’t create two containers with the same name but different casing. That’s because some parts of the Azure platform are not case-sensitive, and this can result in confusion/collision of telemetry and actions on containers with such names.

Create a container using Azure portal

  1. Sign in to the Azure portal.

  2. Create a new Azure Cosmos DB account, or select an existing account.

  3. Open the Data Explorer pane, and select New Container. Next, provide the following details:

    • Indicate whether you are creating a new database or using an existing one.
    • Enter a Container Id.
    • Enter a Partition key value (for example, /ItemID).
    • Select Autoscale or Manual throughput and enter the required Container throughput (for example, 1000 RU/s). Enter a throughput that you want to provision (for example, 1000 RUs).
    • Select OK.

    Screenshot of Data Explorer, with New Collection highlighted

Create a container using Azure CLI

Create a container with Azure CLI. For a listing of all Azure CLI samples across all Azure Cosmos DB APIs see, Azure CLI samples for Azure Cosmos DB.

Create a container using PowerShell

Create a container with PowerShell. For a listing of all PowerShell samples across all Azure Cosmos DB APIs see, PowerShell Samples

Create a container using .NET SDK

If you encounter timeout exception when creating a collection, do a read operation to validate if the collection was created successfully. The read operation throws an exception until the collection create operation is successful. For the list of status codes supported by the create operation see the HTTP Status Codes for Azure Cosmos DB article.

// Create a container with a partition key and provision 400 RU/s manual throughput.
CosmosClient client = new CosmosClient(connectionString, clientOptions);
Database database = await client.CreateDatabaseIfNotExistsAsync(databaseId);

ContainerProperties containerProperties = new ContainerProperties()
{
    Id = containerId,
    PartitionKeyPath = "/myPartitionKey"
};

var throughput = ThroughputProperties.CreateManualThroughput(400);
Container container = await database.CreateContainerIfNotExistsAsync(containerProperties, throughput);

Next steps