Loading...

Performing simple Azure Table Storage REST API operations using curl command.

Performing simple Azure Table Storage REST API operations using curl command.

The blog provides guidance to perform simple Table Storage REST API operations such as Create table, Delete Table, Insert entity, Delete entity, Merge entity, Get Table properties, Get Table Storage Stats, Query Table, Query Entities and Update entities operations using curl command.

 

Let us look at some of the command syntax to perform REST API operations and we will be making use of SAS token as the authentication mechanism. We need to take care of the pointers below while performing the operations via curl command: 

  • Ensure the URL is formed correctly as per the operation you are trying to perform.
  • The mandatory header needs to be passed along with correct values for it.
  • Ensure you are appending/removing extra ‘?’ to the SAS token in the URLs accordingly.
  • Http verb can be GET, PUT or DELETE as provided by the REST API specifications.

So let's began:

  1. Get Table Storage Properties: 

This Rest API gets the properties of an Azure Table Storage account. Reference link for Rest API is:

Get Table Service Properties (REST API) - Azure Storage | Microsoft Learn

Syntax URL:

 

curl -X GET "https://<storageacccountname>.table.core.windows.net/?restype=service&comp=properties<SAS_token>" -H "x-ms-date:2024-02-23T03:24Z" -H "x-ms-version:2020-04-08"

 


Output:

ShraddhaSwadi_0-1724391575801.png

 

  1. Get Table Storage Stats:

This Rest API retrieves statistics that are related to replication for Azure Table Storage. This operation works only on the secondary location endpoint when we have RAGRS replication enabled for the storage account. Reference link: Get Table Service Stats (REST API) - Azure Storage | Microsoft Learn

Syntax URL:

 

curl -X GET "https://storageaccount-secondary.table.core.windows.net/?restype=service&comp=stats&<SAS_token>” -H "x-ms-date:2024-02-23T03:24Z" -H "x-ms-version:2020-04-08"

 

 

Output:

ShraddhaSwadi_1-1724391575806.png

 

  1. Query tables: 
    This Rest API returns a list of tables under the specified account. Reference link:
    Query Tables (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X GET "https://storageaccount.table.core.windows.net/Tables?<SAS_token>" -H "x-ms-date:2024-02-23T18:16:35Z" -H "x-ms-version:2020-04-08"

 

 

Output:

ShraddhaSwadi_2-1724391575829.png

  1. Create table: 

This Rest API creates a new table in a storage account. Reference link: Create Table (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X POST "https://storageaccount.table.core.windows.net/Tables?<SAS_token> " -H "x-ms-date:2024-02-23T18:16:35Z" -H "x-ms-version:2020-04-08" -H "Content-Length: 27" -H "Content-Type: application/json" -d "{\"TableName\":\"sampletable\"}

 


Output:

ShraddhaSwadi_3-1724391575842.png

 

ShraddhaSwadi_4-1724391575847.png

 

 

  1. Delete table:  
    This Rest API deletes a table in a storage account. Reference link: Delete Table (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X DELETE "https://storageaccount.table.core.windows.net/Tables('sampletable')?<SAS_token> " -H "x-ms-date:2024-02-23T18:16:35Z" -H "x-ms-version:2020-04-08" -H "Content-Type: application/json"

 

 
Output:

ShraddhaSwadi_5-1724391575849.png

 

ShraddhaSwadi_6-1724391575853.png

 

  1. Query Entities:
    This Rest API queries entities in a table and includes the $filter and $select options. Reference link: Query Entities (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X GET "https://storageaccount.table.core.windows.net/shswadsampletable1(PartitionKey='B',RowKey='1')?<SAS_token> " -H "x-ms-date:2024-02-24T10:14:50.2646880Z" -H "x-ms-version:2020-04-08"

 

 
Output:

ShraddhaSwadi_7-1724391575858.png

 

ShraddhaSwadi_8-1724391575863.png

 

  1. Delete Entity Operation:
    This Rest API deletes an existing entity in a table. Reference link: Delete Entity (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X DELETE "https://storageaccount.table.core.windows.net/shswadsampletable1(PartitionKey%3D'B'%2C%20RowKey%3D'1')?<SAS_token> " -H "x-ms-date:2024-02-24T11:14:50.2646880Z" -H "x-ms-version:2020-04-08" -H "If-Match:*"

 

 
Output:

ShraddhaSwadi_9-1724391575864.png

 

ShraddhaSwadi_10-1724391575868.png

 

  1. Insert Operation:

This Rest API inserts a new entity into a table. Reference link: Insert Entity (REST API) - Azure Storage | Microsoft Learn

Syntax URL: 

 

curl -X POST "https://storageaccount.table.core.windows.net/test?<SAS_token> " -H "x-ms-date: 2024-02-25T10:39:50.2646880Z" -H "x-ms-version: 2020-04-08" -H "Accept: application/json;odata=nometadata" -H "Content-Type: application/json" -d "{\"RowKey\":\"bbb\",\"PartitionKey\":\"ssss\",\"Name\":\"aaa\",\"PhoneNumber\":\"111\"}"

 

 
Output:

ShraddhaSwadi_11-1724391575871.png

 

ShraddhaSwadi_12-1724391575875.png

 

  1. Update operation:

This Rest API updates the existing entity in the Table Storage. Reference link: Update Entity (REST API) - Azure Storage | Microsoft Learn

 

Syntax URL: 

 

curl -X PUT "https://storageaccount.table.core.windows.net/test(PartitionKey%3D'ss'%2C%20RowKey%3D'bbb')?<SAS_token> " -H "x-ms-date: 2024-02-25T10:39:50.2646880Z" -H "x-ms-version: 2020-04-08" -H "Accept: application/json;odata=nometadata" -H "Content-Type: application/json" -H "If-Match=*" -d "{\"RowKey\":\"bbb\",\"PartitionKey\":\"ssss\",\"Name\":\"aaa\",\"PhoneNumber\":\"111\"}

 

 
Output

ShraddhaSwadi_13-1724391575877.png

 

ShraddhaSwadi_14-1724391575884.png

 

Merge operation:
This Rest API operation updates an existing entity by updating the entity's properties and does not replace the existing entity, Reference link: Merge Entity (REST API) - Azure Storage | Microsoft Learn

 

Syntax URL:  

 

curl -X PUT "https://storageaccount.table.core.windows.net/test(PartitionKey%3D'ssss'%2C%20RowKey%3D'bbb')?<SAS_token> " -H "x-ms-version: 2020-04-08" -H "Accept: application/json;odata=nometadata" -H "Content-Type: application/json" -H "If-Match=*" -d "{\"RowKey\":\"bbb\",\"PartitionKey\":\"ssss\",\"Name\":\"aaa\",\"PhoneNumber\":\"11231\"}"

 

 
Output:

ShraddhaSwadi_15-1724391575886.png

 

ShraddhaSwadi_16-1724391575890.png

 

Hope this article helps you in performing the Table Storage operations by making use of curl command.

 

Happy Learning!

Published on:

Learn more
Azure PaaS Blog articles
Azure PaaS Blog articles

Azure PaaS Blog articles

Share post:

Related posts

Microsoft Purview: Data Lifecycle Management- Azure PST Import

Azure PST Import enables Microsoft 365 admins to import PST files from Azure Blob Storage into Exchange Online mailboxes using PowerShell. The...

3 hours ago

April Patches for Azure DevOps Server

We are releasing patches for our self‑hosted product, Azure DevOps Server. We strongly recommend that all customers remain on the latest, most...

1 day ago

Integration Testing Azure Functions with Reqnroll and C#, Part 5 - Using Corvus.Testing.ReqnRoll in a build pipeline

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the final post in this serie...

5 days ago

Integration Testing Azure Functions with Reqnroll and C#, Part 4 - Controlling your functions with additional configuration

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the fourth of this series of...

5 days ago

Integration Testing Azure Functions with Reqnroll and C#, Part 3 - Using hooks to start Functions

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the third of a series of pos...

5 days ago

Integration Testing Azure Functions with Reqnroll and C#, Part 2 - Using step bindings to start Functions

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the second of a series of po...

5 days ago

Integration Testing Azure Functions with Reqnroll and C#, Part 1 - Introduction

If you use Azure Functions on a regular basis, you'll likely have grappled with the challenge of testing them. In the first of a series of pos...

5 days ago

Announcing Azure MCP Server 2.0 Stable Release for Self-Hosted Agentic Cloud Automation

Azure MCP Server 2.0 is now generally available, delivering first-class self-hosting, stronger security hardening, and a faster foundation for...

5 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy