Provisioning Azure Cosmos DB Resources

1 hour
  • 3 Learning Objectives

About this Hands-on Lab

As modern cloud-based apps have evolved, they’ve required data storage to adapt with them. Services such as Azure Cosmos DB have risen to the challenge by providing a fully-managed, multi-model, globally-distributed NoSQL database.

In this hands-on lab scenario, your organization (Awesome Company) is developing a next-generation video game that will rely heavily on the cloud. In order to achieve guaranteed performance around the globe, you’ve chosen Azure Cosmos DB as the data backend. To get started on this project, you’re going to create two different Azure Cosmos DB databases: one to store player profiles, and another to collect session metadata. Since you’ll likely be creating many support databases like the metadata one, you’ll use an ARM template to deploy it.

Performing the actions of this lab will help you become familiar with how to provision Azure Cosmos DB databases, both through the portal and by ARM template.

**Note: It will take a significant amount of time for the deployments to finish. Please make sure you have at least an hour for completion.**

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create an Azure Cosmos DB Account for the Players Database

Using the Azure portal, create an Azure Cosmos DB account. Use a unique name such as acgaming-1234.

Create the Players Database and Container

Within the acgaming-**** account, create a Players database and Profiles container.

Create the Session Database and Table Using PowerShell and an ARM Template

Use an ARM template to provision a Table API account and a table named Session. A template is provided via a GitHub repo, or you can use one of your own.

Additional Resources

In this hands-on lab scenario, your organization (Awesome Company) is developing a next-generation video game that will rely heavily on the cloud. In order to achieve guaranteed performance around the globe, you've chosen Azure Cosmos DB as the data backend. To get started on this project, you're going to create two different Azure Cosmos DB databases: a document database to store player profiles, and a key-value table to collect session metadata. Since you'll likely be creating many support databases like the session one, you'll use an ARM template to deploy it.

Feel free to follow step-by-step instructions in the lab guide or view the solution video, whichever is most helpful for you as a learner.

Fields for the players database: gamerId, gamerTag, team, rank, statusMessage, isOnline Fields for the session database: ip_address, device_type, country

Note: It will take a significant amount of time for the deployment to finish. Please make sure you have at least an hour for completion. Also, at times the deployment screen does not accurately report that it is finished. To mitigate this you can check the status on the resource's overview page.

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?