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

追加 Blob 印章

该操作的目的是 Append Blob Seal 允许用户和应用程序密封追加 Blob,并将其标记为只读。 本文档概述了此功能的建议 REST API 规范。

请求

可以按如下所示构造 Append Blob Seal 请求。 建议使用 HTTPS。 将 myaccount 替换为存储帐户的名称。

PUT 方法请求 URI HTTP 版本
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=seal HTTP/1.1

标头

Append Blob Seal返回常见的 API 标头, ETag/LMT (上次修改时间) 、x-ms-request-idx-ms-versioncontent-length、 和 。Date Append Blob Seal 不会更改 ETag/LMT

响应头 说明
x-ms-blob-sealed true/false 可选。 默认值为 False。 如果 blob 已密封,则当你密封并获取 Blob 的属性时,此标头将包含在响应中。 对于追加 Blob,此标头应出现在 GetBlobGetBlobPropertiesAppendBlobSealListBlobs 中。

查询参数

没有其他 URI 参数。

请求正文

无。

响应

响应包括 HTTP 状态代码和响应标头列表。

状态代码

你可能会收到以下任何状态代码:

  • 200 (成功) :Blob 已密封。 调用是幂等的,如果 Blob 已密封,则调用将成功。

  • 409 (InvalidBlobType) :如果调用位于现有页 Blob 或块 Blob 上,则服务返回此状态代码。

  • 404 (BlobNotFound) :如果调用在不存在的 blob 上,则服务返回此状态代码。

授权

在 Azure 存储中调用任何数据访问操作时,都需要授权。 可以授权操作, Append Blob Seal 如下所述。

重要

Microsoft 建议将 Microsoft Entra ID 与托管标识结合使用来授权对 Azure 存储的请求。 与共享密钥授权相比,Microsoft Entra ID提供更高的安全性和易用性。

Azure 存储支持使用 Microsoft Entra ID 来授权对 Blob 数据的请求。 使用 Microsoft Entra ID,可以使用 Azure 基于角色的访问控制 (Azure RBAC) 向安全主体授予权限。 安全主体可以是用户、组、应用程序服务主体或 Azure 托管标识。 安全主体由 Microsoft Entra ID 进行身份验证,以返回 OAuth 2.0 令牌。 然后可以使用令牌来授权对 Blob 服务发出请求。

若要详细了解如何使用 Microsoft Entra ID 授权,请参阅使用 Microsoft Entra ID 授权访问 blob

权限

下面列出了Microsoft Entra用户、组、托管标识或服务主体调用操作Append Blob Seal所需的 RBAC 操作,以及包含此操作的最低特权内置 Azure RBAC 角色:

若要详细了解如何使用 Azure RBAC 分配角色,请参阅 分配 Azure 角色以访问 Blob 数据

注解

如果追加 Blob 具有租约,则需要租约 ID 来密封 Blob。

密封 Blob 后,仍可以更新属性、Blob 索引标记和元数据。 软删除密封的 Blob 会保留密封状态。 可以覆盖密封的 Blob。  

如果获取密封 blob 的快照,则快照包括密封标志。 对于新版本中的现有快照,Microsoft 返回 属性。

复制密封的 Blob 时,默认情况下会传播密封标志。 公开允许覆盖标志的标头。

新的 XML 元素将添加到响应中 ListBlob ,名为 Sealed。 值可以是 truefalse

如果对已密封的 Blob 调用 AppendBlock ,该服务将返回下表中显示的错误消息。 这适用于旧版 API。

错误代码 HTTP 状态代码 用户消息
BlobIsSealed 冲突 (409) 指定的 blob 是密封的,除非在删除后重新创建该 Blob,否则无法修改其内容。

如果对已密封的追加 blob 调用 Append Blob Seal ,则只会看到状态代码 200 (成功) 。

计费

定价请求可能源自使用 Blob 存储 API 的客户端,可以直接通过 Blob 存储 REST API 或 Azure 存储客户端库。 这些请求按事务产生费用。 事务类型会影响帐户的收费方式。 例如,读取事务累算到与写入事务不同的计费类别。 下表显示了基于存储帐户类型的请求的计费类别 Append Blob Seal

操作 存储帐户类型 计费类别
追加 Blob 印章 高级块 blob
标准常规用途 v2
标准常规用途 v1
写入操作

若要了解指定计费类别的定价,请参阅Azure Blob 存储定价

另请参阅

Azure Blob 存储错误代码