您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

命名和引用容器、Blob 和元数据

本主题介绍了如何命名和引用容器、Blob、元数据和快照。 存储帐户可包含零个或多个容器。 容器包含属性、元数据以及零个或多个 Blob。 Blob 是由二进制数据、属性和元数据组成的任一实体。

资源名称

引用容器或 Blob 的 URI 必须是唯一的。 由于每个帐户名称都是唯一的,因此两个帐户可具有同名容器。 但是,在给定的存储帐户中,每个容器均必须具有一个唯一名称。 此外,给定容器中的每个 Blob 必须在该容器中拥有一个唯一名称。

如果您尝试使用违反命名规则的名称创建容器或 Blob,则请求将失败,状态代码为 400(错误的请求)。

重要

Blob 和容器名称将传递给 URL 中的 BLOB 服务。 某些字符必须使用 UTF-8(首选)或 MBCS 以百分比编码形式出现在 URL 中。 当你使用 Azure 存储的客户端库时,将自动进行此编码。 但是,即使经过编码,还是有一些字符在 URL 路径中无效。 这些字符不能出现在 Blob 或容器名称中。 像 \uE000 这样的码位虽然在 NTFS 文件名中有效,但不是有效的 Unicode 字符,因此无法使用。 此外,也不允许使用某些 ASCII 或 Unicode 字符,如控制字符(0x00 到 0x1F、\u0081 等)。 有关在 HTTP/1.1 中控制 Unicode 字符串的规则,请参阅 RFC 2616,第2.2 节:基本规则RFC 3987

容器名称

容器名称必须是有效的 DNS 名称,并符合以下命名规则:

  • 容器名称必须以字母或数字开头或结尾,并且只能包含字母、数字和短划线 ( ) 字符。

  • 每个短划线 (-) 字符的前面和后面都必须是一个字母或数字;在容器名称中不允许连续的短划线 (-)。

  • 容器名称中的所有字母都必须为小写。

  • 容器名称必须介于 3 到 63 个字符。

Blob 名称

Blob 名称必须符合以下命名规则:

  • Blob 名称可以包含任何字符组合。

  • blob 名称的长度必须至少为1个字符,且对于 Azure 存储中的 blob,长度不得超过1024个字符。

    Azure 存储模拟器支持长度最大为256个字符的 blob 名称。 有关详细信息,请参阅使用 Azure 存储模拟器进行开发和测试

  • Blob 名称区分大小写。

  • 必须正确地对保留的 URL 字符进行转义。

  • 构成 Blob 名称的路径段数目不能超过 254 个。 路径段是连续分隔符字符之间的字符串 (例如,与虚拟目录名称对应的正斜杠 "/" ) 。

备注

避免以点 (.)、正斜杠 (/) 或二者的序列或组合结尾的 Blob 名称。 不应使用点 ( 的路径段结束。 ) 。

BLOB 服务基于平面存储方案而不是分层方案。 但是,可以在 Blob 名称中指定字符或字符串分隔符来创建虚拟层次结构。 例如,以下列表显示了有效的唯一 Blob 名称。 请注意,在同一容器中,作为 Blob 名称和虚拟目录名称的字符串是有效的:

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

枚举 Blob 时可使用分隔符。

元数据名称

容器或 Blob 资源的元数据将存储为与该资源关联的名称值对。 元数据名称必须遵循 c # 标识符的命名规则。

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

资源 URI 语法

每个资源均具有一个对应的基本 URI,它指的是资源本身。

对于存储帐户,基本 URI 仅包含帐户的名称:

https://myaccount.blob.core.windows.net

对于容器,基本 URI 包含帐户名称和容器名称:

https://myaccount.blob.core.windows.net/mycontainer

对于 Blob,基本 URI 包含帐户名称、容器名称和 Blob 名称:

https://myaccount.blob.core.windows.net/mycontainer/myblob

存储帐户可具有根容器(它是可从 URI 中忽略的默认容器)。 可以在不命名容器的情况下引用根容器中的 Blob,也可以按根容器的名称 ($root) 显式引用它。 有关详细信息,请参阅使用 根容器 。 以下 URI 指根容器中的 Blob:

https://myaccount.blob.core.windows.net/myblob  
https://myaccount.blob.core.windows.net/$root/myblob  

Blob 快照

快照是指 Blob 在创建快照时所存储的状态的只读版本。 可以使用快照创建 Blob 的备份或检查点。 快照 Blob 名称包含基本 Blob URI 和日期时间值,该值指示快照的创建时间。

例如,假设 Blob 具有以下 URI:

https://myaccount.blob.core.windows.net/mycontainer/myblob

该 Blob 的快照 URI 的格式如下所示:

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

请参阅