Get Blob Metadata

The Get Blob Metadata operation returns all user-defined metadata for the specified blob or snapshot.


The Get Blob Metadata request may be constructed as follows. HTTPS is recommended. Replace myaccount with the name of your storage account:

GET or HEAD Method Request URI HTTP Version<DateTime><DateTime>

Emulated storage service URI

When making a request against the emulated storage service, specify the emulator hostname and Blob service port as, followed by the emulated storage account name:

GET or HEAD Method Request URI HTTP Version HTTP/1.1

For more information, see Using the Azure Storage Emulator for Development and Testing.

URI parameters

The following additional parameters may be specified on the request URI.

Parameter Description
snapshot Optional. The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob
versionid Optional, version 2019-12-12 and newer. The versionid parameter is an opaque DateTime value that, when present, specifies the Version of the blob to retrieve.
timeout Optional. The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.

Request Headers

The following table describes required and optional request headers.

Request Header Description
Authorization Required. Specifies the authorization scheme, account name, and signature. For more information, see Authorize requests to Azure Storage.
Date or x-ms-date Required. Specifies the Coordinated Universal Time (UTC) for the request. For more information, see Authorize requests to Azure Storage.
x-ms-version Required for all authorized requests, optional for anonymous requests. Specifies the version of the operation to use for this request. For more information, see Versioning for the Azure Storage Services.
x-ms-lease-id:<ID> Optional. If this header is specified, the Get Blob Metadata operation will be performed only if both of the following conditions are met:

- The blob's lease is currently active.
- The lease ID specified in the request matches that of the blob.

If both of these conditions are not met, the request will fail and the Get Blob Metadata operation will fail with status code 412 (Precondition Failed).
x-ms-client-request-id Optional. Provides a client-generated, opaque value with a 1 KiB character limit that is recorded in the analytics logs when storage analytics logging is enabled. Using this header is highly recommended for correlating client-side activities with requests received by the server. For more information, see About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests.

This operation also supports the use of conditional headers to get the blob's metadata operation only if a specified condition is met. For more information, see Specifying Conditional Headers for Blob Service Operations.

Request Headers (Customer-provided encryption keys)

Beginning with version 2019-02-02, the following headers may be specified on the request to read a blob encrypted with a customer-provided key. Encryption with a customer-provided key (and the corresponding set of headers) is optional. If a blob has previously been encrypted with a customer-provided key, then these headers must be included on the request to complete the read operation successfully.

Request header Description
x-ms-encryption-key Required. The Base64-encoded AES-256 encryption key.
x-ms-encryption-key-sha256 Optional. The Base64-encoded SHA256 hash of the encryption key.
x-ms-encryption-algorithm: AES256 Required. Specifies the algorithm to use for encryption. The value of this header must be AES256.

Request Body



The response includes an HTTP status code and a set of response headers.

Status Code

A successful operation returns status code 200 (OK).

For information about status codes, see Status and Error Codes.

Response Headers

The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.

Response header Description
x-ms-meta-name:value Returns a metadata value for the container.
Last-Modified The date/time that the blob was last modified. The date format follows RFC 1123. For more information, see Representation of Date-Time Values in Headers.

Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last modified time of the blob.
ETag The ETag for the blob. If the request version is 2011-08-18 or newer, the ETag value will be in quotes.
x-ms-request-id This header uniquely identifies the request that was made and can be used for troubleshooting the request. For more information, see Troubleshooting API Operations.
x-ms-version Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and later.

This header is also returned for anonymous requests without a version specified if the container was marked for public access using the 2009-09-19 version of the Blob service.
Date A UTC date/time value generated by the service that indicates the time at which the response was initiated.
x-ms-client-request-id This header can be used to troubleshoot requests and corresponding responses. The value of this header is equal to the value of the x-ms-client-request-id header if it is present in the request and the value is at most 1024 visible ASCII characters. If the x-ms-client-request-id header is not present in the request, this header will not be present in the response.

Response Body



This operation can be performed by the account owner or by anyone using a Shared Access Signature that has permission to read the blob. If the container's ACL is set to allow anonymous access, any client may call this operation.



See also

Authorize requests to Azure Storage
Status and Error Codes
Blob Service Error Codes