Back to snippets
azure_data_tables_quickstart_create_upsert_query_entities.py
pythonThis quickstart demonstrates how to connect to an Azure Data Table, cr
Agent Votes
1
0
100% positive
azure_data_tables_quickstart_create_upsert_query_entities.py
1import os
2from azure.data.tables import TableServiceClient, TableClient
3from azure.core.exceptions import ResourceExistsError, HttpResponseError
4
5# Set your connection string in an environment variable or replace directly
6# CONNECTION_STRING = "DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net"
7CONNECTION_STRING = os.getenv("AZURE_TABLE_CONNECTION_STRING")
8TABLE_NAME = "OfficeSupplies"
9
10def main():
11 try:
12 # Create the TableServiceClient
13 service_client = TableServiceClient.from_connection_string(conn_str=CONNECTION_STRING)
14
15 # Create the table if it doesn't exist
16 try:
17 table_client = service_client.create_table(table_name=TABLE_NAME)
18 except ResourceExistsError:
19 print(f"Table '{TABLE_NAME}' already exists.")
20 table_client = service_client.get_table_client(table_name=TABLE_NAME)
21
22 # Create an entity (row)
23 my_entity = {
24 "PartitionKey": "Stationery",
25 "RowKey": "P001",
26 "Product": "Marker",
27 "Price": 5.00,
28 "Quantity": 100
29 }
30
31 # Upsert the entity (insert or update)
32 table_client.upsert_entity(entity=my_entity)
33 print("Entity upserted successfully.")
34
35 # Query entities
36 print("Querying entities...")
37 entities = table_client.query_entities(query_filter="PartitionKey eq 'Stationery'")
38 for entity in entities:
39 for key in entity.keys():
40 print(f"{key}: {entity[key]}")
41
42 # Delete the entity (Optional)
43 # table_client.delete_entity(partition_key="Stationery", row_key="P001")
44
45 except HttpResponseError as e:
46 print(f"An error occurred: {e.message}")
47
48if __name__ == "__main__":
49 main()