|
1 | | -Containers and blobs support custom metadata, represented as HTTP headers. Metadata headers can be set on a request that creates a new container or blob resource, or on a request that explicitly creates a property on an existing resource. |
| 1 | +Containers and blobs support custom metadata, represented as HTTP headers. Metadata headers can be set on a request that creates a new container or blob resource, or on a request that explicitly creates a property on an existing resource. |
2 | 2 |
|
3 | 3 | ## Metadata header format |
4 | 4 |
|
5 | | -Metadata headers are name/value pairs. The format for the header is: |
6 | | - |
| 5 | +Metadata headers are name/value pairs. The format for the header is: |
| 6 | + |
| 7 | +``` |
| 8 | +x-ms-meta-name:string-value |
7 | 9 | ``` |
8 | | -x-ms-meta-name:string-value |
9 | | -``` |
10 | 10 |
|
11 | | -Beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. |
| 11 | +Beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. |
12 | 12 |
|
13 | | -Names are case-insensitive. Metadata names preserve the case with which they were created, but are case-insensitive when set or read. If two or more metadata headers with the same name are submitted for a resource, the Blob service returns status code `400 (Bad Request)`. |
| 13 | +Names are case-insensitive. Metadata names preserve the case with which they were created, but are case-insensitive when set or read. If two or more metadata headers with the same name are submitted for a resource, the Blob service returns status code `400 (Bad Request)`. |
14 | 14 |
|
15 | | -The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 8 KB in size. |
| 15 | +The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 8 KB in size. |
16 | 16 |
|
17 | | -Metadata name/value pairs are valid HTTP headers, and so they adhere to all restrictions governing HTTP headers. |
| 17 | +Metadata name/value pairs are valid HTTP headers, and so they adhere to all restrictions governing HTTP headers. |
18 | 18 |
|
19 | 19 | ## Operations on metadata |
20 | 20 |
|
21 | | -Metadata on a blob or container resource can be retrieved or set directly, without returning or altering the content of the resource. |
| 21 | +Metadata on a blob or container resource can be retrieved or set directly, without returning or altering the content of the resource. |
22 | 22 |
|
23 | | -Metadata values can only be read or written in full; partial updates aren't supported. Setting metadata on a resource overwrites any existing metadata values for that resource. |
| 23 | +Metadata values can only be read or written in full; partial updates aren't supported. Setting metadata on a resource overwrites any existing metadata values for that resource. |
24 | 24 |
|
25 | 25 | ### Retrieving properties and metadata |
26 | 26 |
|
27 | | -The GET/HEAD operation retrieves metadata headers for the specified container or blob. These operations return headers only; they don't return a response body. The URI syntax for retrieving metadata headers on a container is as follows: |
28 | | - |
| 27 | +The GET/HEAD operation retrieves metadata headers for the specified container or blob. These operations return headers only; they don't return a response body. The URI syntax for retrieving metadata headers on a container is as follows: |
| 28 | + |
29 | 29 | ``` |
30 | | -GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=metadata |
| 30 | +GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata |
31 | 31 | ``` |
32 | 32 |
|
33 | | -The URI syntax for retrieving metadata headers on a blob is as follows: |
34 | | - |
| 33 | +The URI syntax for retrieving metadata headers on a blob is as follows: |
| 34 | + |
35 | 35 | ``` |
36 | 36 | GET/HEAD https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata |
37 | 37 | ``` |
38 | 38 |
|
39 | 39 | ### Setting Metadata Headers |
40 | 40 |
|
41 | | -The PUT operation sets metadata headers on the specified container or blob, overwriting any existing metadata on the resource. Calling PUT without any headers on the request clears all existing metadata on the resource. |
| 41 | +The PUT operation sets metadata headers on the specified container or blob, overwriting any existing metadata on the resource. Calling PUT without any headers on the request clears all existing metadata on the resource. |
| 42 | + |
| 43 | +The URI syntax for setting metadata headers on a container is as follows: |
42 | 44 |
|
43 | | -The URI syntax for setting metadata headers on a container is as follows: |
44 | | - |
45 | 45 | ``` |
46 | 46 | PUT https://myaccount.blob.core.windows.net/mycontainer?comp=metadata&restype=container |
47 | 47 | ``` |
48 | 48 |
|
49 | | -The URI syntax for setting metadata headers on a blob is as follows: |
50 | | - |
| 49 | +The URI syntax for setting metadata headers on a blob is as follows: |
| 50 | + |
51 | 51 | ``` |
52 | 52 | PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata |
53 | 53 | ``` |
54 | 54 |
|
55 | 55 | ## Standard HTTP properties for containers and blobs |
56 | 56 |
|
57 | | -Containers and blobs also support certain standard HTTP properties. Properties and metadata are both represented as standard HTTP headers; the difference between them is in the naming of the headers. Metadata headers are named with the header prefix `x-ms-meta-` and a custom name. Property headers use standard HTTP header names, as specified in the Header Field Definitions section 14 of the HTTP/1.1 protocol specification. |
| 57 | +Containers and blobs also support certain standard HTTP properties. Properties and metadata are both represented as standard HTTP headers; the difference between them is in the naming of the headers. Metadata headers are named with the header prefix `x-ms-meta-` and a custom name. Property headers use standard HTTP header names, as specified in the Header Field Definitions section 14 of the HTTP/1.1 protocol specification. |
58 | 58 |
|
59 | 59 | The standard HTTP headers supported on containers include: |
60 | 60 |
|
|
0 commit comments