Referring to Containers and Blobs

The Blob service exposes the following resources via the REST API:

  • Account. A storage account is a globally uniquely identified entity within the storage system. The account is the parent namespace for the Blob service. All containers are associated with an account.

  • Containers. A container is a user-defined set of blobs within an account. A container resource has no associated content, only properties and metadata.

  • Blobs. A blob is an entity representing a set of content. A blob resource includes content, properties, and metadata.

The Blob service supports two types of blobs, block blobs and page blobs. See Understanding Block Blobs and Page Blobs for more information about blob types.

Each resource has a corresponding base URI, which refers to the resource itself.

For the storage account, the base URI includes the name of the account only:

For a container, the base URI includes the name of the account and the name of the container:

For a blob, the base URI includes the name of the account, the name of the container, and the name of the blob:

If the blob resides in the root container, the root container name may be omitted; see Working with the Root Container for more information:

Operations on a resource URI may include a query parameter on the base URI that specify the operation to perform. The syntax for the query parameter is ?comp=<component_name>.

All query parameters and blob names must be URL-encoded before they are sent to the Windows Azure storage services. See the HTTP/1.1 protocol specification for more information on encoding.

A snapshot is a read-only version of a blob stored as it was at the time the Snapshot Blob (REST API) operation was called on the blob. You can use snapshots to create a backup or checkpoint of a blob. Snapshots are supported for both block blobs and page blobs.

The Snapshot Blob operation returns a DateTime value that indicates when the service created the snapshot. This value, together with the name of the base blob (the blob from which the snapshot was created), serves to uniquely identify the snapshot. For example, assume that a blob has the following URI:

The URI for a snapshot of that blob is formed as follows:<DateTime>

Blob snapshots support all blob operations except for write operations.

A snapshot shares blocks or pages with its base blob, as long as a block or page remains identical between the base blob and the snapshot. Since you are charged for the unique blocks or pages that you use, this sharing of resources can reduce your storage costs. Once you update a block or page in the base blob, you'll be charged for storing the block or page in both the base blob and the snapshot.

See Also

Community Additions