Setting Partition Keys in Azure Cosmos DB

1.25 hours
  • 2 Learning Objectives

About this Hands-on Lab

In this lab, we provision a Cosmos DB account, learn how to create containers, populate a container with items, and set appropriate partition keys for our data.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Configure the Environment

For this first task, we need to provision a Cosmos DB account with the following parameters:

  • Core SQL API
  • (US) West US Region
  • Do NOT Apply the Free Tier Discount
  • Uncheck "Limit the total amount of throughput that can be provisioned on this account"

Then open the GitHub link and review the table to determine possible keys:

  • https://gist.github.com/GaryMcLeary/07bdd715dd2dffec3ed1d35d1093923f
Create a Container and Populate It
  • Create a new container, choose manual with 400 throughput and set "City" as a partition key.
  • Name the container testcontainer.
  • Populate the newly created container with the JSON file:
    • https://gist.github.com/GaryMcLeary/07bdd715dd2dffec3ed1d35d1093923f
  • Once this is complete, create a second container, choose manual with 400 throughput and set "Test" as a partition key.
  • Populate this new container with the same JSON file.

Additional Resources

Scenario

We work for a growing chemical manufacturer with clients around the world. As a newly-appointed cloud architect, we have been asked to begin the movement of our company's data to Cosmos DB and develop key partitioning to optimize queries.

As a part of this initiative we need to do the following:

  • Provision a Cosmos DB account. This may take a while.
  • Review the given table to determine an appropriate key.
  • Create a new container.
  • Populate the new container with items.

Updated Instructions

  • Provision a Cosmos DB account.
    • Core SQL API
    • (US) West US
    • Do Not Apply the Free Tier Discount
    • Uncheck "Limit the total amount of throughput that can be provisioned on this account"
  • Review the given table to determine an appropriate key.
    • Download this JSON link from GitHub https://gist.github.com/GaryMcLeary/07bdd715dd2dffec3ed1d35d1093923f
  • Create a new container.
    • choose manual and 400 throughput
    • Set "City"" as the partition key

For detailed instructions on how to complete these tasks, expand each learning objective below or click the Guide tab above the video player.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?