Azure Storage API Reference

Overview

The Azure Storage API provides REST endpoints for managing blobs, queues, tables, and files. This reference includes request/response formats, authentication patterns, and sample code snippets.

General
Error Codes

All services share common request headers, such as x-ms-version and Authorization. Responses include Server, Date, and x-ms-request-id headers.

Typical error responses return a status code and an XML payload describing the error. Example:

<Error>
  <Code>AuthenticationFailed</Code>
  <Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.</Message>
</Error>

Blob Service

Operations

  • Put Blob – Create or overwrite a block blob. Details
  • Get Blob – Download blob content. Details
  • List Blobs – Enumerate blobs in a container. Details
  • Delete Blob – Remove a blob. Details

Sample: Upload a Block Blob (cURL)

curl -X PUT \
  -H "x-ms-blob-type: BlockBlob" \
  -H "x-ms-version: 2023-08-03" \
  -H "Authorization: SharedKey :" \
  -T "./myfile.txt" \
  "https://myaccount.blob.core.windows.net/mycontainer/myfile.txt"

Queue Service

Operations

  • Put Message – Add a message to a queue. Details
  • Get Messages – Retrieve messages. Details
  • Delete Message – Remove a specific message. Details

Sample: Enqueue a Message (Python SDK)

from azure.storage.queue import QueueClient

conn_str = "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=MYKEY;EndpointSuffix=core.windows.net"
queue = QueueClient.from_connection_string(conn_str, "myqueue")
queue.send_message("Hello, Azure Queue!")

Table Service

Operations

  • Insert Entity – Add a new entity. Details
  • Query Entities – Retrieve entities using OData filters. Details
  • Delete Entity – Remove an entity. Details

Sample: Query with OData (REST)

GET https://myaccount.table.core.windows.net/MyTable()?%24filter=PartitionKey%20eq%20'Customers'&x-ms-version=2023-08-03 HTTP/1.1
Authorization: SharedKey myaccount:signature
Accept: application/json;odata=nometadata

File Service

Operations

  • Create Share – Provision a new file share. Details
  • Upload File – Store a file in a directory. Details
  • List Files – Enumerate files in a directory. Details

Sample: Upload a File (PowerShell)

Import-Module Az.Storage
$ctx = New-AzStorageContext -StorageAccountName "myaccount" -StorageAccountKey "MYKEY"
Set-AzStorageFileContent -Context $ctx -ShareName "myshare" -Path "folder/file.txt" -Source "C:\local\file.txt"

Authentication

Azure Storage supports Shared Key, Shared Access Signatures (SAS), and Azure AD OAuth tokens.

Shared Key Example (C#)

var credential = new StorageSharedKeyCredential(accountName, accountKey);
var blobServiceClient = new BlobServiceClient(new Uri($"https://{accountName}.blob.core.windows.net"), credential);

Generating a SAS Token (REST)

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2023-08-03&ss=b&srt=sco&sp=rwl&se=2025-01-01T00:00:00Z&st=2024-01-01T00:00:00Z&sig=signature