Azure Table Storage Tutorial - Python Azure Tables SDK with NBA Stats API
Scenario:
The NBA playoffs start on 15 April following the conclusion of the Play-In Tournament on 14 April. In this tutorial, we use the nba_api Python API Client for NBA.com to fetch NBA teams stats and then run the Python Azure Tables SDK to create Azure table and entries. Finally, with Azure Storage Explorer we can easily build search query and visualize the results.
Objective:
To illustrate Azure Tables Python SDK usage using NBA API, followed by querying Azure Table Storage with Azure Storage Explorer's Query Builder.
Pre-requisites:
For this example, you would need:
- An Azure Table Storage
Steps:
- Install nba_api
- Install Azure Tables client library for Python
- Python code to retrieve data, create table, and insert entries
- Run nba.py
- Visualize the NBA table (with Azure Storage Explorer)
- Sample query (with Azure Storage Explorer)
[STEP 1]: Install nba_api
[STEP 2]: Install Azure Tables client library for Python
[STEP 3]: Python code to retrieve data, create table, and insert entries
Note:
- replace STORAGE_CONNECTION_STRING with your storage connection string.
- I use "state" as PartitionKey and "abbreviation" as RowKey.
- This article describes best practice when choosing partition & row key for entities.
- The response from calling teams.get_teams() is like the following:
nba.py
[STEP 4]: Run nba.py
[STEP 5]: Visualize the NBA table (with Azure Storage Explorer)
The NBA table contains data of the 30 NBA teams with the following info:
- ID
- City Name
- State Name
- Nickname
- Full Name
- Year Founded
- Abbreviation
[STEP 6]: Sample query (with Azure Storage Explorer)
Query Example: To find out all NBA teams that are based in California and were founded in 1948.
1. Click the "Query" button on the upper-left corner of the table.
2. Use Query Builder to build the query. Then click ▶ to execute.
3. Result is Lakers (LAL) & Kings (SAC).
Conclusion:
This example shows how to use the nba_api to retrieve NBA teams stats and the Azure Tables Python SDK to work with Azure Table storage. The Azure Tables client library for Python provides a simple and intuitive API for working with Azure Table Storage, with methods for creating and managing table clients, table operations, and entities.
References:
- https://pypi.org/project/nba-api/
- https://learn.microsoft.com/en-us/azure/storage/tables/table-storage-overview
- https://learn.microsoft.com/en-us/python/api/overview/azure/data-tables-readme?view=azure-python
- https://learn.microsoft.com/en-us/python/api/azure-data-tables/azure.data.tables?view=azure-python
Published on:
Learn moreRelated posts
Resiliency by Design: Azure Compute
Introducing langchain-azure-cosmosdb: Build Agentic Apps and RAG with One Database
Build AI Agents and RAG Applications with the New LangChain + LangGraph Connector for Azure Cosmos DB Building AI agents and RAG applications ...
Azure Developer CLI (azd) – April 2026
The Azure Developer CLI (azd) shipped five releases in April 2026. The biggest theme this month is multi-language hook support: write azd hook...
Dynamics 365 Supply Chain Management – Run Planning Optimization on Azure operated by 21Vianet
We are announcing the ability for companies in China running Dynamics 365 Supply Chain Management on Azure operated by 21Vianet to run Plannin...
Announcing the Private Preview of Cosmos DB Azure RBAC Integration
Introduction Managing access to Azure resources often means dealing with two separate permission models: one for management operations and ano...
Azure DocumentDB (with MongoDB compatibility) for Banking: A Modern Customer 360 Approach
Introduction: Transforming Customer Intelligence in Banking Every day, people interact with their bank across mobile apps, branches, call cent...
Exam AI-901: Microsoft Azure AI Fundamentals
With a massive amount of focus on AI across the Microsoft platform, I decided to sit the new AI-901 exam, which is the new Azure fundamentals ...
The problem: All-or-nothing batch processing in Azure Service Bus
Azure Functions lets you settle each Service Bus message on its own within a batch. Complete, abandon, dead-letter, or defer messages one by o...