This repository contains the hands-on lab exercises for Microsoft course DP-420 Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB and the equivalent self-paced modules on Microsoft Learn. The exercises are designed to accompany the learning materials and enable you to practice using the technologies they describe.

📝 To complete these exercises, you’ll require a Microsoft Azure subscription. You can sign up for a free trial at https://azure.microsoft.com.

Labs

C# labs


Setup labs

Module Lab
Setup Create lab resource group
Setup Setup lab environment
Setup Enable resource providers

Labs

Module Lab
Module 1 - Explore Azure Cosmos DB for NoSQL Create an Azure Cosmos DB for NoSQL account
Module 1 - Get started with Azure Cosmos DB for NoSQL Create an Azure Cosmos DB for NoSQL account
Module 2 - Configure resources, throughput, and consistency Configure throughput and consistency in C#
Module 2 - Configure resources, throughput, and consistency Configure throughput and consistency in Python
Module 2 - Plan and implement Azure Cosmos DB for NoSQL Configure throughput for Azure Cosmos DB For NoSQL with the Azure portal
Module 3 - Connect to Azure Cosmos DB with the SDK Connect an app to Azure Cosmos DB in C#
Module 3 - Connect to Azure Cosmos DB with the SDK Connect an app to Azure Cosmos DB in Python
Module 2 - Plan and implement Azure Cosmos DB for NoSQL Migrate existing data using Azure Data Factory
Module 4 - Implement Azure Cosmos DB Operations with the SDK Implement Data Operations in C#
Module 4 - Implement Azure Cosmos DB Operations with the SDK Implement Data Operations in Python
Module 3 - Connect to Azure Cosmos DB for NoSQL with the SDK Connect to Azure Cosmos DB for NoSQL with the SDK
Module 5 - Query Data in Azure Cosmos DB for NoSQL Author and Page Queries in C#
Module 5 - Query Data in Azure Cosmos DB for NoSQL Author and Page Queries in Python
Module 3 - Connect to Azure Cosmos DB for NoSQL with the SDK Configure the Azure Cosmos DB for NoSQL SDK for offline development
Module 6 - Design a Data Modeling and Partitioning Strategy for Azure Cosmos DB for NoSQL Design a model and partition strategy
Module 4 - Access and manage data with the Azure Cosmos DB for NoSQL SDKs Create and update documents with the Azure Cosmos DB for NoSQL SDK
Module 7 - Process the Azure Cosmos DB for NoSQL Change Feed Process changes and copy data in C#
Module 7 - Process the Azure Cosmos DB for NoSQL Change Feed Process changes and copy data in Python
Module 4 - Access and manage data with the Azure Cosmos DB for NoSQL SDKs Batch multiple point operations together with the Azure Cosmos DB for NoSQL SDK
Module 8 - Implement AI-Assisted Development Tools for Azure Cosmos DB Inspect Azure Cosmos DB with Azure MCP Server
Module 4 - Access and manage data with the Azure Cosmos DB for NoSQL SDKs Move multiple documents in bulk with the Azure Cosmos DB for NoSQL SDK
Module 5 - Execute queries in Azure Cosmos DB for NoSQL Execute a query with the Azure Cosmos DB for NoSQL SDK
Module 9 - Secure an Azure Cosmos DB Solution Secure an account in C#
Module 9 - Secure an Azure Cosmos DB Solution Secure an account in Python
Module 10 - Configure Backup and Restore in Azure Cosmos DB Recover from a recovery point in C#
Module 10 - Configure Backup and Restore in Azure Cosmos DB Recover from a recovery point in Python
Module 5 - Execute queries in Azure Cosmos DB for NoSQL Paginate cross-product query results with the Azure Cosmos DB for NoSQL SDK
Module 11 - Design Multi-Region Availability and Failover in Azure Cosmos DB Configure Regions and Failover in C#
Module 11 - Design Multi-Region Availability and Failover in Azure Cosmos DB Configure Regions and Failover in Python
Module 6 - Define and implement an indexing strategy for Azure Cosmos DB for NoSQL Review the default index policy for an Azure Cosmos DB for NoSQL container with the portal
Module 12 - Design and Optimize an Indexing Strategy in Azure Cosmos DB Optimize an indexing strategy in C#
Module 12 - Design and Optimize an Indexing Strategy in Azure Cosmos DB Optimize an indexing strategy in Python
Module 6 - Define and implement an indexing strategy for Azure Cosmos DB for NoSQL Configure an Azure Cosmos DB for NoSQL container’s index policy using the SDK
Module 7 - Integrate Azure Cosmos DB for NoSQL with Azure services Process change feed events using the Azure Cosmos DB for NoSQL SDK
Module 13 - Analyze and Tune Query and Operation Performance in Azure Cosmos DB Tune a high-cost query in C#
Module 13 - Analyze and Tune Query and Operation Performance in Azure Cosmos DB Tune a high-cost query in Python
Module 14 - Monitor and Troubleshoot Azure Cosmos DB Diagnose throttling and configure an alert in C#
Module 14 - Monitor and Troubleshoot Azure Cosmos DB Diagnose throttling and configure an alert in Python
Module 7 - Integrate Azure Cosmos DB for NoSQL with Azure services Process Azure Cosmos DB for NoSQL data using Azure Functions
Module 7 - Integrate Azure Cosmos DB for NoSQL with Azure services Search data using Azure AI Search and Azure Cosmos DB for NoSQL
Module 15 - Manage Azure Cosmos DB at Scale with Fleets Create and Monitor a Fleet
Module 16 - Implement Full-Text and Vector Search in Azure Cosmos DB for NoSQL Build Native Search Over a Product Catalog in C#
Module 16 - Implement Full-Text and Vector Search in Azure Cosmos DB for NoSQL Build Native Search Over a Product Catalog in Python
Module 8 - Implement a data modeling and partitioning strategy for Azure Cosmos DB for NoSQL Measure performance for customer entities
Module 17 - Implement Hybrid Search and Optimize AI Retrieval in Azure Cosmos DB for NoSQL Build and Tune Hybrid Search in C#
Module 17 - Implement Hybrid Search and Optimize AI Retrieval in Azure Cosmos DB for NoSQL Build and Tune Hybrid Search in Python
Module 8 - Implement a data modeling and partitioning strategy for Azure Cosmos DB for NoSQL Cost of denormalizing data and aggregates and using the change feed for referential integrity
Module 18 - Build RAG Applications with Azure Cosmos DB for NoSQL Build a grounded RAG assistant in C#
Module 18 - Build RAG Applications with Azure Cosmos DB for NoSQL Build a grounded RAG assistant in Python
Module 19 - Design and Implement Agent Memory Stores in Azure Cosmos DB Build a durable agent memory store in C#
Module 19 - Design and Implement Agent Memory Stores in Azure Cosmos DB Build a durable agent memory store in Python
Module 20 - Implement Operational Analytics With Microsoft Fabric Mirror an Azure Cosmos DB database and query it in Microsoft Fabric
Module 9 - Design and implement a replication strategy for Azure Cosmos DB for NoSQL Connect to different regions with the Azure Cosmos DB for NoSQL SDK
Module 9 - Design and implement a replication strategy for Azure Cosmos DB for NoSQL Configure consistency models in the portal and the Azure Cosmos DB for NoSQL SDK
Module 9 - Design and implement a replication strategy for Azure Cosmos DB for NoSQL Connect to a multi-region write account with the Azure Cosmos DB for NoSQL SDK
Module 10 - Optimize query and operation performance in Azure Cosmos DB for NoSQL Optimize an Azure Cosmos DB for NoSQL container’s indexing policy for common operations
Module 10 - Optimize query and operation performance in Azure Cosmos DB for NoSQL Optimize an Azure Cosmos DB for NoSQL container’s index policy for a specific query
Module 11 - Monitor and troubleshoot an Azure Cosmos DB for NoSQL solution Use Azure Monitor to analyze an Azure Cosmos DB for NoSQL account
Module 11 - Monitor and troubleshoot an Azure Cosmos DB for NoSQL solution Troubleshoot an application using the Azure Cosmos DB for NoSQL SDK
Module 11 - Monitor and troubleshoot an Azure Cosmos DB for NoSQL solution Recover a database or container from a recovery point
Module 11 - Monitor and troubleshoot an Azure Cosmos DB for NoSQL solution Store Azure Cosmos DB for NoSQL account keys in Azure Key Vault
Module 12 - Manage an Azure Cosmos DB for NoSQL solution using DevOps practices Adjust provisioned throughput using an Azure CLI script
Module 12 - Manage an Azure Cosmos DB for NoSQL solution using DevOps practices Create an Azure Cosmos DB for NoSQL container using Azure Resource Manager templates
Module 13 - Create server-side programming constructs in Azure Cosmos DB for NoSQL Create a stored procedure with the Azure portal
Module 13 - Create server-side programming constructs in Azure Cosmos DB for NoSQL Implement and then use user-defined functions with the SDK

Generative AI labs

Common setup labs

Module Lab
Setup Create lab resource group
Setup Setup Azure Cosmos DB
Setup Enable resource providers

JavaScript labs

Module Lab
Setup Setup lab environment
Use the Azure Cosmos DB for NoSQL SDK 01 - Connect to Azure Cosmos DB for NoSQL with the SDK
Configure the Azure Cosmos DB for NoSQL SDK 02 - Configure the Azure Cosmos DB JavaScript SDK for Offline Development
Implement Azure Cosmos DB for NoSQL point operations 03 - Create and update documents with the Azure Cosmos DB for NoSQL SDK
Perform cross-document transactional operations with the Azure Cosmos DB for NoSQL 04 - Batch multiple point operations together with the Azure Cosmos DB for NoSQL SDK
Query the Azure Cosmos DB for NoSQL 05 - Execute a query with the Azure Cosmos DB for NoSQL SDK
Author complex queries with the Azure Cosmos DB for NoSQL 06 - Paginate cross-product query results with the Azure Cosmos DB for NoSQL SDK

Python labs

Module Lab
 
Use the Azure Cosmos DB for NoSQL SDK 01 - Connect to Azure Cosmos DB for NoSQL with the SDK
Configure the Azure Cosmos DB for NoSQL SDK 02 - Configure the Azure Cosmos DB JavaScript SDK for Offline Development
Implement Azure Cosmos DB for NoSQL point operations 03 - Create and update documents with the Azure Cosmos DB for NoSQL SDK
Perform cross-document transactional operations with the Azure Cosmos DB for NoSQL 04 - Batch multiple point operations together with the Azure Cosmos DB for NoSQL SDK
Query the Azure Cosmos DB for NoSQL 05 - Execute a query with the Azure Cosmos DB for NoSQL SDK
Author complex queries with the Azure Cosmos DB for NoSQL 06 - Paginate cross-product query results with the Azure Cosmos DB for NoSQL SDK
Build copilots with Python and Azure Cosmos DB for NoSQL 07.1 - Enable Vector Search for Azure Cosmos DB for NoSQL
Build copilots with Python and Azure Cosmos DB for NoSQL 07.2 - Generate vector embeddings with Azure OpenAI and store them in Azure Cosmos DB for NoSQL
Build copilots with Python and Azure Cosmos DB for NoSQL 07.3 - Build a copilot with Python and Azure Cosmos DB for NoSQL
Build copilots with Python and Azure Cosmos DB for NoSQL 07.4 - Implement RAG with LangChain and Azure Cosmos DB for NoSQL Vector Search