Blob Service REST API

Updated: January 16, 2014

The Blob service stores text and binary data. 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 either of two types of blobs:

  • Block blobs, which are optimized for streaming.

  • 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 and Page Blobs.

The REST API for the Blob service provides a way to work with container and blob resources via HTTP operations. The API includes the operations listed in the following table.

 

Operation Resource Type Description

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.

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 and page blobs

Creates a new blob or replaces an existing blob within a container.

Get Blob

Block and page blobs

Reads or downloads a blob from the Blob service, including its user-defined metadata and system properties.

Get Blob Properties

Block and page blobs

Returns all system properties and user-defined metadata on the blob.

Set Blob Properties

Block and page blobs

Sets system properties defined for an existing blob.

Get Blob Metadata

Block and page blobs

Retrieves all user-defined metadata of an existing blob or snapshot.

Set Blob Metadata

Block and page blobs

Sets user-defined metadata of an existing blob.

Delete Blob

Block and page blobs

Marks a blob for deletion.

Lease Blob

Block 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 and page blobs

Creates a read-only snapshot of a blob.

Copy Blob

Block and page blobs

Copies a source blob to a destination blob in this storage account.

Abort Copy Blob

Block and page blobs

Aborts a pending Copy Blob operation, and leaves a destination blob with zero length and full metadata.

Put Block

Block blobs only

Creates a new block to be committed as part of a block blob.

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.

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.

See Also