- Lab
- A Cloud Guru
Work with Azure Cosmos DB Data Using Two Azure SDKs
In this lab, you get a chance to practice with four fundamental Cosmos DB classes representing the Cosmos client, database, container, and item. You will author code in either the .NET C# SDK or the Python SDK — or both if you want an additional challenge. The focus of the lab is to get you comfortable with these key classes, so you will: - Connect to an existing Cosmos DB account. - Add a database to the account. - Add a container to the database. - Add at least one item to the container. - Confirm that you successfully created the required objects using the Azure portal.
Path Info
Table of Contents
-
Challenge
Housekeeping
- Open an incognito or in-private window and log in to the Azure portal using the user name and password provided in the lab environment.
- From within the portal, initiate the Cloud Shell to select Bash (versus PowerShell) and set up with new backing storage — do not use the existing storage account deployed into the lab environment. You will need both storage accounts to complete the lab.
Note: You are free to write the code for this lab in Visual Studio Code or another IDE, if you have experience in that environment. Just make sure you download the GitHub project file to ensure you have instructions and hints. Be aware that the lab guide and the solution video are based on working in the Cloud Shell editor, but it won't substantially change the code you write.
-
Challenge
Prepare Environment
At this point, you should be at the command prompt in the Cloud Shell environment.
Clone the Lab Project
From the Bash command prompt, execute the
git clone
command using the URL provided in the Additional Information and Resources section of the lab, followed byAZ204_Labs
to alias the downloaded folder to a friendly name..NET C# Prep
- Once the project is downloaded, use the Cloud Editor to open the
program.cs
file in theAZ204_Labs/work_with_cosmos/dotnet
folder. - From the Bash command prompt, change to the working directory:
cd AZ204_Labs/work_with_cosmos/dotnet
.
Python Prep
- Once the project is downloaded, use the Cloud Editor to open the
samplecode.py
file in theAZ204_Labs/work_with_cosmos/python
folder. - From the Bash command prompt, change to the working directory:
cd AZ204_Labs/work_with_cosmos/python
. - Run this command to install the library we will be working with in the lab:
pip install azure-cosmos
.
Get Connection String — Regardless of SDK
Minimize (do not close) the Cloud Shell pane and navigate to the Azure Cosmos DB for NoSQL account that is already set up for you. The name of the account starts with "pluralsightlab." Navigate to the location of the primary connection string and copy it. Be sure to copy the connection string and not just the key. Return to your Cloud Shell window.
- Once the project is downloaded, use the Cloud Editor to open the
-
Challenge
Use .NET to Create a Cosmos DB Database, Container, and Item
You should have either
program.cs
(for the .NET SDK) open in the Cloud Shell editor.Follow the instructions and hints in the code file to modify and author additional code to:
- Populate the
my_connection_string
variable with the primary connection string you retrieved from the Cosmos DB account in the portal. - Instantiate the Cosmos client object.
- Create a new database.
- Create a new container.
- Add an item to the container.
When you are ready, be sure to save your file in the code editor and then execute it at the command line with:
dotnet build
, which will surface any errors, and then:dotnet run
.Navigate to the Cosmos DB account in the Azure portal to confirm the creation of a new container and a blob in that container.
Tips:
- If the instructions in the code file tells you to use an exact name for a deployed resource, be sure to follow those instructions, as the lab grading tool may be looking specifically for that name. Also, you don't want your resource names to conflict if you decide to complete the lab using both SDKs.
- See the Additional Information and Resources section of the lab for links to SDK reference material to help you author the code.
- If you still need help after considering these tips, you can copy-paste the code from the lab guide and/or watch the solution video.
- Populate the
-
Challenge
Use Python to Create a Cosmos DB Database, Container, and Item
You should have
samplecode.py
(for the Python SDK) open in the Cloud Shell editor.Follow the instructions and hints in the code file to modify and author additional code to complete the following actions:
- Populate the
my_connection_string
variable with the primary connection string you retrieved from the Cosmos DB account in the portal. - Instantiate the Cosmos client object.
- Create a new database.
- Create a new container.
- Add an item to the container.
When you are ready, be sure to save your file in the code editor and then execute it at the command line with:
python samplecode.py
.Navigate to the Cosmos DB account in the Azure portal to confirm the creation of a new container and a blob in that container.
Tips:
- If the instructions in the code file tells you to use an exact name for a deployed resource, be sure to follow those instructions, as the lab grading tool may be looking specifically for that name. Also, you don't want your resource names to conflict if you decide to complete the lab using both SDKs.
- See the Additional Information and Resources section of the lab for links to SDK reference material to help you author the code.
- If you still need help after considering these tips, you can copy-paste the code from the lab guide and/or watch the solution video.
- Populate the
What's a lab?
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.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.