你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设置和检索 Blob 服务资源的属性和元数据

容器和 Blob 均支持自定义元数据(表示为 HTTP 标头)。 可以在创建新容器或 Blob 资源的请求上设置元数据标头,也可以在为现有资源显式创建属性的请求上设置元数据标头。

本主题包含以下子主题:

元数据标头格式

元数据操作

容器和 Blob 的标准 HTTP 属性

Blob 还支持标记,标记是 Blob 服务自动编制索引的特殊类型的自定义元数据。 有关详细信息,请参阅使用 Blob 索引管理和查找有关Azure Blob 存储的数据

元数据标头格式

元数据标头是名称/值对。 标头的格式如下所示:

x-ms-meta-name:string-value  

从版本 2009-09-19 开始,元数据名称必须遵循 C# 标识符的命名规则。

名称不区分大小写。 请注意,元数据名称保留在创建时具有的大小写形式,但在设置或读取时不区分大小写。 如果为资源提交两个或多个具有相同名称的元数据标头,Blob 服务将返回状态代码 400(错误的请求)。

元数据由名称/值对组成。 所有元数据对的总大小上限为 8 KB。

元数据名称/值对是有效的 HTTP 标头,因此,它们遵循控制 HTTP 标头的所有限制。

元数据上的操作

可以直接检索或设置 Blob 或容器资源上的元数据,而不返回或更改资源内容。

请注意,只能完全读取或写入元数据值;不支持部分更新。 如果在资源上设置元数据,将覆盖该资源的任何现有的元数据值。

检索属性和元数据

GET 和 HEAD 操作均检索指定的容器或 Blob 的元数据标头。 HEAD操作仅返回标头;它不返回响应正文。

检索容器上的元数据标头的 URI 语法如下所示:

GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container  

检索 Blob 上的元数据标头的 URI 语法如下所示:

GET/HEAD https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata  

设置元数据标头

PUT 操作在指定的容器或 Blob 上设置元数据标头,从而覆盖资源上的任何现有的元数据。 如果在请求中调用 PUT 而未设置任何标头,则会清除资源上的所有现有的元数据。

在容器上设置元数据标头的 URI 语法如下所示:

PUT https://myaccount.blob.core.windows.net/mycontainer?comp=metadata?restype=container  

在 Blob 上设置元数据标头的 URI 语法如下所示:

PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=metadata  

容器和 Blob 的标准 HTTP 属性

容器和 Blob 还支持某些标准 HTTP 属性。 属性和元数据均表示为标准 HTTP 标头;它们的区别在于标头的命名方式。 元数据标头是使用标头前缀 x-ms-meta- 和自定义名称命名的。 属性标头使用标准 HTTP 标头名称,如 HTTP/1.1 协议规范的标头字段定义部分 14 中所述。

容器上支持的标准 HTTP 标头包括:

  • ETag

  • Last-Modified

Blob 上支持的标准 HTTP 标头包括:

  • ETag

  • Last-Modified

  • Content-Length

  • Content-Type

  • Content-MD5

  • Content-Encoding

  • Content-Language

  • Cache-Control

  • Origin

  • Range

另请参阅

创建容器
获取容器属性
设置容器元数据
放置 Blob
复制 Blob
获取 Blob 属性
获取 Blob 元数据
设置 Blob 元数据
Blob 服务概念
通过 Blob 索引管理和查找 Azure Blob 存储上的数据