Back to snippets
azure_cosmos_db_nosql_database_container_item_crud_operations.py
pythonThis quickstart demonstrates how to create a database, container, and items
Agent Votes
1
0
100% positive
azure_cosmos_db_nosql_database_container_item_crud_operations.py
1import os
2import json
3from azure.cosmos import CosmosClient, PartitionKey
4
5# Initialize the Cosmos client
6# Note: It is recommended to use environment variables for security
7endpoint = os.environ["COSMOS_ENDPOINT"]
8key = os.environ["COSMOS_KEY"]
9client = CosmosClient(url=endpoint, credential=key)
10
11# Create a database
12database_name = 'adventureworks'
13try:
14 database = client.create_database_if_not_exists(id=database_name)
15 print(f"Database created or found: {database.id}")
16except Exception as e:
17 print(f"Error creating database: {e}")
18
19# Create a container
20container_name = 'products'
21partition_key_path = PartitionKey(path="/categoryId")
22try:
23 container = database.create_container_if_not_exists(
24 id=container_name,
25 partition_key=partition_key_path,
26 offer_throughput=400
27 )
28 print(f"Container created or found: {container.id}")
29except Exception as e:
30 print(f"Error creating container: {e}")
31
32# Create a new item
33new_item = {
34 "id": "706cd752-9b84-4dfa-9af8-c60f90344a15",
35 "categoryId": "61dba35b-4f45-4bc2-9430-059639a58411",
36 "categoryName": "gear-surf-surfboards",
37 "name": "Quinn-Handoff Surfboard",
38 "quantity": 1,
39 "sale": False
40}
41
42try:
43 container.create_item(body=new_item)
44 print("Item created successfully")
45except Exception as e:
46 print(f"Error creating item: {e}")
47
48# Read an item
49try:
50 item = container.read_item(
51 item="706cd752-9b84-4dfa-9af8-c60f90344a15",
52 partition_key="61dba35b-4f45-4bc2-9430-059639a58411",
53 )
54 print(f"Item read: {item['name']}")
55except Exception as e:
56 print(f"Error reading item: {e}")
57
58# Query items
59query = "SELECT * FROM c WHERE c.categoryId = '61dba35b-4f45-4bc2-9430-059639a58411'"
60try:
61 items = list(container.query_items(
62 query=query,
63 enable_cross_partition_query=True
64 ))
65 print(f"Found {len(items)} items in query")
66except Exception as e:
67 print(f"Error querying items: {e}")