Developing a Python app using Azure Cosmos DB

Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. One of the supported APIs is the SQL API, which provides a JSON document model with SQL querying and JavaScript procedural logic. This sample shows you how to use the Azure Cosmos DB with the SQL API to store and access data from a Python application.

You will find a detailed Quickstart here: Build a Python application using an Azure Cosmos DB SQL API account

Running this sample

  • Before you can run this sample, you must have the following prerequisites:

  • Clone this repository using: git clone https://github.com/Azure-Samples/azure-cosmos-db-python-getting-started.git

  • Open cosmos_get_started.py and substitute the endpoint (URI) and primary master key values with your Cosmos DB account's values from the Azure portal or via the Azure CLI with the following commands:

    • Endpoint: az cosmosdb show --name <account-name> --resource-group <resource-group-name>
    • Key: az cosmosdb keys list --name <account-name> --resource-group <resource-group-name>
  • In Visual Studio Code, select View > Integrated terminal to open the Visual Studio Code integrated terminal.

  • In the terminal, run python cosmos_get_started.py, which will output the following text:

    Read item with id Smith_d457f895-3756-49cd-a629-e7708d7ed252. Operation consumed 1 request units
    Read item with id Johnson_3bd2aa16-742f-4aed-9a95-3adc548a94e3. Operation consumed 1 request units
    Read item with id Wakefield_c73aa98d-7104-4b01-a3da-4946081575ff. Operation consumed 1 request units
    Query returned 2 items. Operation consumed 3.09 request units
    
  • If you see the following error, then ensure you have installed the Azure Cosmos DB SDK properly with the --pre flag. See prerequisites section above for details.

    Traceback (most recent call last):
    File "cosmos_get_started.py", line 1, in <module>
        from azure.cosmos import exceptions, CosmosClient, PartitionKey
    ImportError: cannot import name 'exceptions' from 'azure.cosmos' (...\lib\site-packages\azure\cosmos\__init__.py)
    
  • You can view the items that this sample created by navigating to the Azure Cosmos DB Data Explorer and selecting the AzureSampleFamilyDatabase:

    'Azure Cosmos DB Data Explorer

About the code

The code included in this sample is intended to get you quickly started with a Python application that connects to Azure Cosmos DB with the SQL API.

More information