Skip to main content
Version: v1.2 (deprecated)

Storage

Azure REST API reference

This page tracks which Azure Storage REST API operations are implemented in Topaz, split by control plane (ARM resource management) and data plane (Blob Storage on port 8891, Table Storage on port 8890).

Legend

SymbolMeaning
Implemented
Not implemented

Control Plane

The control plane covers ARM operations available under management.azure.com — creating and managing storage accounts.

Storage Accounts

REST reference

OperationStatusNotes
CreateVia PUT (CreateOrUpdate)
Delete
Get Properties
ListGET /subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts
List By Resource Group
List KeysPOST .../listKeys
Check Name AvailabilityPOST /subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability
UpdatePATCH .../storageAccounts/{accountName}
Regenerate KeyPOST .../regenerateKey
List Account SASPOST .../ListAccountSas
List Service SASPOST .../ListServiceSas
Failover
Restore Blob Ranges
Revoke User Delegation Keys
Abort Hierarchical Namespace Migration
Hierarchical Namespace Migration
Customer Initiated Migration
Get Customer Initiated Migration

Data Plane — Blob Storage

Blob Storage is served on port 8891 (HTTP) in Topaz.

Containers

OperationStatusNotes
Create ContainerPUT /{containerName}?restype=container
Get Container
Delete Container
List ContainersGET /
Set Container MetadataPUT /{containerName}?restype=container&comp=metadata
Get Container MetadataGET /{containerName}?restype=container&comp=metadata
Get Container ACLGET /{containerName}?restype=container&comp=acl
Set Container ACLPUT /{containerName}?restype=container&comp=acl
Lease ContainerPUT /{containerName}?restype=container&comp=lease — acquire, renew, change, release, break

Blobs

OperationStatusNotes
Put BlobUpload blob
Get BlobGET /{containerName}/{blobName} — returns blob content with Content-Type, Content-Length, ETag, x-ms-blob-type headers
Delete Blob
Head Blob
Set Blob MetadataPUT /{containerName}/{blobName}?comp=metadata
Get Blob MetadataGET /{containerName}/{blobName}?comp=metadata
Get Blob PropertiesHEAD /{containerName}/{blobName} — returns Content-Type, Content-Length, ETag, Last-Modified, x-ms-blob-type, x-ms-creation-time, x-ms-meta-*
Set Blob PropertiesPUT /{containerName}/{blobName}?comp=properties
List BlobsGET /{containerName}
Copy BlobPUT /{containerName}/{blobName} with x-ms-copy-source header; synchronous within-emulator copy
Put BlockPUT /{containerName}/{blobName}?comp=block&blockid={blockId} — stages a block for later commit via Put Block List
Put Block ListPUT /{containerName}/{blobName}?comp=blocklist — assembles staged blocks into a committed blob
Get Block ListGET /{containerName}/{blobName}?comp=blocklistblocklisttype supports committed, uncommitted, all
Put PagePUT /{containerName}/{blobName}?comp=page — supports x-ms-page-write: update (write) and clear (zero-fill); range must be 512-byte aligned
Get Page RangesGET /{containerName}/{blobName}?comp=pagelist — supports Range/x-ms-range filtering and returns Azure-compatible PageList XML
Lease BlobPUT /{containerName}/{blobName}?comp=lease — acquire, renew, change, release, break
Snapshot Blob
Undelete Blob

Data Plane — Table Storage

Table Storage is served on port 8890 (HTTPS) in Topaz.

Service

OperationStatusNotes
Get Table Service PropertiesGET /
Set Table Service PropertiesPUT /?restype=service&comp=properties
Get Table Service StatsGET /?restype=service&comp=stats
Preflight Table RequestOPTIONS /{resourcePath}

Tables

OperationStatusNotes
Create TablePOST /Tables
Delete TableDELETE /Tables('{tableName}')
Query TablesGET /Tables
Get TableGET /Tables('{tableName}')
Get Table ACLGET /{tableName}?comp=acl
Set Table ACLPUT /{tableName}?comp=acl

Entities

OperationStatusNotes
Insert EntityPOST /{tableName}
Get EntityGET /{tableName}(PartitionKey='{pk}',RowKey='{rk}')
Upsert Entity (InsertOrReplace)PUT /{tableName}(...)
Merge Entity (InsertOrMerge)PATCH
Delete EntityDELETE /{tableName}(PartitionKey='{pk}',RowKey='{rk}')
Query EntitiesGET /{tableName}

Data Plane — Queue Storage

Queue Storage is served on port 8893 (HTTPS) in Topaz.

Service

OperationStatusNotes
Get Queue Service PropertiesGET /?restype=service&comp=properties
Set Queue Service PropertiesPUT /?restype=service&comp=properties
Get Queue Service StatsGET /?restype=service&comp=stats — secondary endpoint only; returns 403 for non-RA-GRS accounts

Queues

OperationStatusNotes
Create QueuePUT /{queue-name}
Delete QueueDELETE /{queue-name}
List QueuesGET /?comp=list
Get Queue MetadataGET /{queue-name}?comp=metadata
Set Queue MetadataPUT /{queue-name}?comp=metadata
Get Queue ACLGET /{queue-name}?comp=acl
Set Queue ACLPUT /{queue-name}?comp=acl

Messages

OperationStatusNotes
Send Message (Enqueue)POST /{queue-name}/messages
Get Messages (Dequeue)GET /{queue-name}/messages — retrieve with visibility timeout
Peek MessagesGET /{queue-name}/messages?peekonly=true — retrieve without hiding
Delete MessageDELETE /{queue-name}/messages/{messageId}?popreceipt={popReceipt}
Update MessagePUT /{queue-name}/messages/{messageId} — update visibility timeout and/or content
Clear MessagesDELETE /{queue-name}/messages
Star on GitHub