Blob service REST API
The Blob service stores text and binary data as objects in the cloud. The Blob service offers the following three resources: the storage account, containers, and blobs. Within your storage account, containers provide a way to organize sets of blobs.
You can store text and binary data in one of the following types of blobs:
Block blobs, which are optimized for streaming.
Append blobs, which are optimized for append operations.
Page blobs, which are optimized for random read/write operations and which provide the ability to write to a range of bytes in a blob.
For more information about block blobs and page blobs, see Understanding Block Blobs, Append Blobs, and Page Blobs.
The REST API for the Blob service defines HTTP operations against the storage account, containers, and blobs. The API includes the operations listed in the following table.
|List Containers||Account||Lists all of the containers in a storage account.|
|Set Blob Service Properties||Account||Sets the properties of the Blob service, including logging and metrics settings, and the default service version.|
|Get Blob Service Properties||Account||Gets the properties of the Blob service, including logging and metrics settings, and the default service version.|
|Preflight Blob Request||Account||Queries the Cross-Origin Resource Sharing (CORS) rules for the Blob service prior to sending the actual request.|
|Get Blob Service Stats||Account||Retrieves statistics related to replication for the Blob service. This operation is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.|
|Get Account Information||Account||Returns the SKU name and account kind for the specified account.|
|Get User Delegation Key||Account||Gets a key that can be used to sign a user delegation SAS (shared access signature). A user delegation SAS grants access to resources in the Blob service using Azure Active Directory (Azure AD) credentials.|
|Create Container||Container||Creates a new container in a storage account.|
|Get Container Properties||Container||Returns all user-defined metadata and system properties of a container.|
|Get Container Metadata||Container||Returns only user-defined metadata of a container.|
|Set Container Metadata||Container||Sets user-defined metadata of a container.|
|Get Container ACL||Container||Gets the public access policy and any stored access policies for the container.|
|Set Container ACL||Container||Sets the public access policy and any stored access policies for the container.|
|Lease Container||Container||Establishes and manages a lock on a container for delete operations.|
|Delete Container||Container||Deletes the container and any blobs that it contains.|
|List Blobs||Container||Lists all of the blobs in a container.|
|Put Blob||Block, append, and page blobs||Creates a new blob or replaces an existing blob within a container.|
|Get Blob||Block, append, and page blobs||Reads or downloads a blob from the Blob service, including its user-defined metadata and system properties.|
|Get Blob Properties||Block, append, and page blobs||Returns all system properties and user-defined metadata on the blob.|
|Set Blob Properties||Block, append, and page blobs||Sets system properties defined for an existing blob.|
|Get Blob Metadata||Block, append, and page blobs||Retrieves all user-defined metadata of an existing blob or snapshot.|
|Set Blob Metadata||Block, append, and page blobs||Sets user-defined metadata of an existing blob.|
|Get Blob Tags||Block, append, and page blobs||Retrieves user-defined tags of an existing blob.|
|Set Blob Tags||Block, append, and page blobs||Sets user-defined tags of an existing blob that form a secondary index.|
|Find Blobs By Tags||Block, append, and page blobs||Lists blobs by their user-defined tags.|
|Delete Blob||Block, append and page blobs||Marks a blob for deletion.|
|Undelete Blob||Block, append and page blobs||Restores the contents and metadata of soft deleted blob and/or all associated soft deleted snapshots.|
|Lease Blob||Block, append, and page blobs||Establishes and manages a lock on write and delete operations. To delete or write to a locked blob, a client must provide the lease ID.|
|Snapshot Blob||Block, append, and page blobs||Creates a read-only snapshot of a blob.|
|Copy Blob||Block, append, and page blobs||Copies a source blob to a destination blob in this storage account or in another storage account.|
|Abort Copy Blob||Block, append, and page blobs||Aborts a pending
|Put Block||Block blobs only||Creates a new block to be committed as part of a block blob.|
|Put Block From URL||Block blobs only||Creates a new block to be committed as part of a block blob where the contents are read from a URL.|
|Put Block List||Block blobs only||Commits a blob by specifying the set of block IDs that comprise the block blob.|
|Get Block List||Block blobs only||Retrieves the list of blocks that have been uploaded as part of a block blob.|
|Query Blob Contents||Block blobs only||Applies a simple Structured Query Language (SQL) statement on a blob's contents and returns only the queried subset of the data.|
|Set Blob Tier||Block and page blobs||Sets the tier of a blob.|
|Put Page||Page blobs only||Writes a range of pages into a page blob.|
|Get Page Ranges||Page blobs only||Returns a list of valid page ranges for a page blob or a snapshot of a page blob.|
|Incremental Copy Blob||Page blobs only||Copies a snapshot of a source page blob to a destination page blob. Only differential changes are transferred.|
|Append Block||Append blobs only||Writes a block of data to the end of an append blob.|