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

Azure.Storage.Blobs.Specialized 命名空间

AppendBlobClient

AppendBlobClient允许你操作 Azure 存储追加 Blob。

追加 blob 由块组成,针对追加操作进行了优化。 修改追加 Blob 时,块仅通过 Azure.Storage.Blobs.Specialized.AppendBlobClient.AppendBlockAsync(System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.AppendBlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken) 操作添加到 Blob 的末尾。 不支持更新或删除现有块。 与块 Blob 不同,追加 blob 不公开其块 ID。

追加 Blob 中的每个块的大小可能不同。 从 x-ms-version 2022-11-02 开始,最大追加大小为 100 MB。 对于以前的版本,最大追加大小为 4 MB。 追加 Blob 最多可以包含 50,000 个块。

BlobBaseClient

BlobBaseClient 允许操作 Azure 存储 Blob。

BlobBatch

BlobBatch允许通过 SubmitBatch(BlobBatch, Boolean, CancellationToken)在单个请求中批处理多个 Azure 存储操作。

有关详细信息,请参阅 Blob Batch

BlobBatchClient

BlobBatchClient允许在单个请求中批处理多个 Azure 存储操作。

BlobLeaseClient

BlobLeaseClient允许在容器和 Blob 上操作 Azure 存储租约。

BlockBlobClient

BlockBlobClient允许你操作 Azure 存储块 Blob。

利用块 Blob,你可以高效上载大型 Blob。 块 Blob 由多个块构成,其中每个块均由一个块 ID 标识。 您可以通过编写一组块并按块 ID 提交这些块来创建或修改块 Blob。 每个块的大小可能不同,对于使用 2019-12-12 之前的 REST 版本的请求,最大为 4,000 MB (100 MB,对于使用 2016-05-31 之前的 REST 版本的请求,最大为 4 MB) ,块 Blob 最多可以包含 50,000 个块。 因此,块 blob 的最大大小约为 190.73 TiB (4,000 MB X 50,000 块) 。 如果要编写大小不超过 5,000 MB 的块 Blob,则可以使用单个写入操作将其全部上传;请参阅 UploadAsync(Stream, BlobUploadOptions, CancellationToken)

当您将一个块上载到存储帐户中的 Blob 时,该块将与指定的块 Blob 关联,但它不会成为 Blob 的一部分,直到您提交包含新块的 ID 的块列表。 在明确提交或丢弃新块之前,这些块将保持未提交状态。 编写块不会更新现有 Blob 的上次修改时间。

块 Blob 包含一些功能,可帮助你通过网络管理大型文件。 利用块 Blob,你可以并行方式上载多个块以减少上载时间。 每个块可以包含 MD5 哈希来验证传输,因此可以跟踪上传进度并根据需要重新发送块。可以按任意顺序上传块,并在最终的阻止列表承诺步骤中确定其顺序。 您也可以上载新块来替换具有相同的块 ID 的现有未提交块。 在这些块被丢弃之前,您有一周的时间将它们提交到 Blob。 此外,如果在执行块列表提交操作时未包含这些块,则它们也将被丢弃。

可以通过插入、替换或删除现有块来修改现有块 Blob。 在上载已发生更改的一个或多个块后,可以使用单个提交操作将要保留的现有块与新块一起提交来提交新版本的 Blob。 若要在提交的 Blob 的两个不同位置插入相同范围的字节,可以在同一提交操作中的两个位置提交同一块。对于任何提交操作,如果未找到任何块,则整个承诺操作将失败并出现错误,并且不会修改 blob。 任何块提交都会覆盖 Blob 的现有属性和元数据,并丢弃所有未提交的块。

块 ID 是 Blob 中具有相等长度的字符串。 块客户端代码通常使用 Base-64 编码来将字符串规范为相等长度。 在使用 Base-64 编码时,预先编码的字符串必须小于或等于 64 个字节。 块 ID 值可在不同的 Blob 中重复。 一个 blob 最多可以有 100,000 个未提交的块,最大总大小为 appoxily 381.46 TiB (4,000 MB x 100,000 个块)

如果为不存在的 Blob 编写块,则将创建一个长度为 0 字节的新块 Blob。 此 Blob 将出现在包含未提交的 Blob 的 Blob 列表中。 如果未将任何块提交到此 Blob,则将在上一次成功上载块一周后丢弃此 Blob 及其未提交的块。 使用单步 (而不是) 的两步块上传后提交过程创建同名的新 blob 时,也会丢弃所有未提交的块。

PageBlobClient

PageBlobClient允许操作 Azure 存储页 Blob。

页 blob 是已针对随机读写操作进行优化的 512 字节的页的集合。 若要创建页 Blob,请初始化页 Blob 并指定页 Blob 将增长到的最大大小。 若要添加或更新页 Blob 的内容,你可以通过指定偏移量和对齐 512 字节页边界的范围来编写一个或多个页。 对页 Blob 进行写入操作可只覆盖一个页、某些页或最多 4 MB 的页 Blob。 对页 Blob 进行的写入操作将就地进行并立即提交到 Blob。 页 Blob 的最大大小为 8 TB。

SpecializedBlobClientOptions

提供用于连接到 Azure Blob 存储 的高级客户端配置选项。

SpecializedBlobExtensions

将易于发现的方法添加到 以 BlobContainerClient 创建 AppendBlobClient 实例。