你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
设置 Blob 标记
Set Blob Tags
操作将指定的 blob 的用户定义标记设置为一个或多个键值对。
请求
可以按如下方式构建Set Blob Tags
请求。 建议使用 HTTPS。 将 我的帐户 替换为你的存储帐户的名称:
PUT 方法请求 URI | HTTP 版本 |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags&versionid=<DateTime> |
HTTP/1.1 |
URI 参数
可以在请求 URI 上指定以下附加参数。
参数 | 说明 |
---|---|
versionid |
对于版本2019-12-12 和更高版本是可选的。 Versionid 参数是一个不透明 DateTime 的值,如果存在,则指定要检索的 blob 的版本。 |
timeout |
可选。 timeout 参数以秒表示。 有关详细信息,请参阅为 Blob 服务操作设置超时。 |
请求标头
下表介绍必需的和可选的请求标头。
请求标头 | 说明 |
---|---|
Authorization |
必需。 指定授权方案、帐户名和签名。 有关详细信息,请参阅授权 Azure 存储的请求。 |
Date 或 x-ms-date |
必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权 Azure 存储的请求。 |
x-ms-version |
所有授权的请求都需要此权限。 指定用于此请求的操作的版本。 有关详细信息,请参阅Azure 存储服务的版本控制。 |
Content-Length |
必需。 请求内容的长度(字节)。 请注意,此标头是指标记文档的内容长度,而不是 blob 本身的内容长度。 |
Content-Type |
必需。 此标头的值应为 application/xml;字符集 = UTF-8。 |
Content-MD5 |
可选。 请求内容的 MD5 哈希值。 此哈希值用于验证传输期间请求内容的完整性。 如果这两个哈希值不匹配,操作会失败,并显示错误代码 400(错误请求)。 请注意,此标头与请求内容而不是 Blob 本身的内容关联。 |
x-ms-content-crc64 |
可选。 请求内容的 CRC64 哈希。 此哈希值用于验证传输期间请求内容的完整性。 如果这两个哈希值不匹配,操作会失败,并显示错误代码 400(错误请求)。 请注意,此标头与请求内容而不是 Blob 本身的内容关联。 如果同时 Content-MD5 x-ms-content-crc64 存在和标头,则请求将失败,错误代码为 400 (错误请求) 。 |
x-ms-lease-id:<ID> |
如果 Blob 具有活动租约,则是必需的。 要在具有活动租约的 Blob 上执行此操作,请为此标头指定有效的租约 ID。 如果请求中未指定有效的租约 ID,则操作将失败,且出现状态码 403(禁止访问)。 |
x-ms-client-request-id |
可选。 提供客户端生成的、具有1个 KiB 字符限制的不透明值,当启用存储分析日志记录时,将记录在分析日志中。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅关于存储分析日志记录和Azure 日志记录:使用日志跟踪存储请求。 |
x-ms-if-tags
仅当满足指定条件时,此操作才支持条件标头来设置 blob 标记。 有关详细信息,请参阅为 Blob 服务操作指定条件标头。
请求正文
请求正文的格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Tags>
<TagSet>
<Tag>
<Key>tag-name-1</Key>
<Value>tag-value-1</Value>
</Tag>
<Tag>
<Key>tag-name-2</Key>
<Value>tag-value-2</Value>
</Tag>
</TagSet>
</Tags>
请求正文必须是格式正确的 UTF-8 XML 文档,该文档包含一个表示 blob 标记的标记集。
标记集最多可以包含10个标记。 标记键和值区分大小写。 标记键的长度必须介于1到128个字符之间,且标记值必须介于0到256个字符之间。 有效的标记键和值字符包括:
- 小写字母和大写字母 (a-z,a-z)
- 数字 (0-9)
- 空格 ( )
- 加 (+) ,减 (-) , (,) ,斜线号 (/) ,冒号 (: ) ,等于 (=) ,以及下划线 (_)
响应
响应包括 HTTP 状态代码和一组响应标头。
状态代码
成功的操作将返回状态代码 204(无内容)。
有关状态代码的信息,请参阅 状态和错误代码。
响应标头
此操作的响应包括以下标头。 该响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范。
响应标头 | 说明 |
---|---|
x-ms-request-id |
此标头唯一地标识发出的请求,并且可用于解决请求问题。 有关详细信息,请参阅 API 操作故障排除。 |
x-ms-version |
指示用于执行请求的 BLOB 服务的版本。 |
Date |
服务生成的 UTC 日期/时间值指示启动响应的时间。 |
x-ms-client-request-id |
此标头可用于排查请求和相应的响应。 如果此标头的值 x-ms-client-request-id 在请求中存在,并且其值最多为1024,则为该标头的值。 如果 x-ms-client-request-id 请求中不存在该标头,则此标头将不会出现在响应中。 |
响应正文
无。
授权
此操作可由帐户所有者以及具有对 blob 标记具有权限的共享访问签名的任何人调用 (t
SAS 权限) 。
此外,具有 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
权限的 RBAC 用户也可执行此操作。
备注
Set Blob Tags
REST API 版本2019-12-12 及更高版本支持该操作。
Set Blob Tags
操作将覆盖 blob 上的所有现有标记。 若要从 blob 中删除所有标记,请 Set Blob Tags
使用空发送请求 <TagSet>
。
此操作不会更新该 blob 的 ETag 或上次修改时间。 可以在存档的 blob 上设置标记。
存储服务维护 blob 及其标记之间的高度一致性。 对 Blob 标记的更改对 Blob 的后续 Get Blob Tags
操作立即可见。 但是,辅助索引最终是一致的;对 Blob 标记的更改可能不会立即对操作 Find Blobs by Tags
可见。
如果请求提供无效标记,Blob 服务将返回状态代码 400 (错误请求) 。
另请参阅
通过 Blob 索引管理和查找 Azure Blob 存储上的数据
授权请求Azure 存储
状态和错误代码
Blob 服务错误代码