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

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 个未提交的块,最大总大小为 381.46 TiB, (4,000 MB x 100,000 个块)

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

public class BlockBlobClient : Azure.Storage.Blobs.Specialized.BlobBaseClient
type BlockBlobClient = class
    inherit BlobBaseClient
Public Class BlockBlobClient
Inherits BlobBaseClient
继承
BlockBlobClient

构造函数

BlockBlobClient()

初始化 类的新实例 BlockBlobClient 以便模拟。

BlockBlobClient(String, String, String)

初始化 BlockBlobClient 类的新实例。

BlockBlobClient(String, String, String, BlobClientOptions)

初始化 BlockBlobClient 类的新实例。

BlockBlobClient(Uri, AzureSasCredential, BlobClientOptions)

初始化 BlockBlobClient 类的新实例。

BlockBlobClient(Uri, BlobClientOptions)

初始化 BlockBlobClient 类的新实例。

BlockBlobClient(Uri, StorageSharedKeyCredential, BlobClientOptions)

初始化 BlockBlobClient 类的新实例。

BlockBlobClient(Uri, TokenCredential, BlobClientOptions)

初始化 BlockBlobClient 类的新实例。

属性

AccountName

获取与 Blob 客户端对应的存储帐户名称。

(继承自 BlobBaseClient)
BlobContainerName

获取与 Blob 客户端对应的容器名称。

(继承自 BlobBaseClient)
BlockBlobMaxBlocks

获取块 Blob 中允许的最大块数。

BlockBlobMaxStageBlockLongBytes

获取在调用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlockAsync(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)时可以发送的最大字节数。

BlockBlobMaxUploadBlobLongBytes

获取在调用 UploadAsync(Stream, BlobUploadOptions, CancellationToken)时可以发送的最大字节数。

CanGenerateSasUri

确定客户端是否能够生成 SAS。 如果客户端使用 StorageSharedKeyCredential进行身份验证。

(继承自 BlobBaseClient)
Name

获取 Blob 的名称。

(继承自 BlobBaseClient)
Uri

获取 Blob 的主 Uri 终结点。

(继承自 BlobBaseClient)

方法

AbortCopyFromUri(String, BlobRequestConditions, CancellationToken)

AbortCopyFromUri(String, BlobRequestConditions, CancellationToken) 操作中止挂起 CopyFromUriOperation的 ,并将此 blob 保留为零长度和完整元数据。

有关详细信息,请参阅 中止复制 Blob

(继承自 BlobBaseClient)
AbortCopyFromUriAsync(String, BlobRequestConditions, CancellationToken)

AbortCopyFromUriAsync(String, BlobRequestConditions, CancellationToken) 操作中止挂起 CopyFromUriOperation的 ,并将此 blob 保留为零长度和完整元数据。

有关详细信息,请参阅 中止复制 Blob

(继承自 BlobBaseClient)
CommitBlockList(IEnumerable<String>, CommitBlockListOptions, CancellationToken)

CommitBlockList(IEnumerable<String>, CommitBlockListOptions, CancellationToken)操作通过指定构成 Blob 的块 ID 列表来写入 Blob。 要写为 Blob 的一部分,块必须在Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)操作之前已成功写入服务器。 可以调用CommitBlockList(IEnumerable<String>, CommitBlockListOptions, CancellationToken)来更新 Blob,这样将仅上载已更改的块,然后一起提交新块和现有块。 为此,请指定是从提交的块列表或未提交的块列表提交块,还是提交块的最近上载版本,无论块可能属于哪个列表。 未在阻止列表中指定并永久删除的任何块。

有关详细信息,请参阅 放置阻止列表

CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken)

CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken)操作通过指定构成 Blob 的块 ID 列表来写入 Blob。 要写为 Blob 的一部分,块必须在Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)操作之前已成功写入服务器。 可以调用CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken)来更新 Blob,这样将仅上载已更改的块,然后一起提交新块和现有块。 为此,请指定是从提交的块列表或未提交的块列表提交块,还是提交块的最近上载版本,无论块可能属于哪个列表。 未在阻止列表中指定并永久删除的任何块。

有关详细信息,请参阅 放置阻止列表

CreateClient(Uri, BlobClientOptions, HttpPipeline)

初始化 BlockBlobClient 类的新实例。

CreateSnapshot(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

CreateSnapshot(IDictionary<String,String>, BlobRequestConditions, CancellationToken) 操作创建 Blob 的只读快照。

有关详细信息,请参阅 快照 Blob

(继承自 BlobBaseClient)
CreateSnapshotAsync(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

CreateSnapshotAsync(IDictionary<String,String>, BlobRequestConditions, CancellationToken) 操作创建 Blob 的只读快照。

有关详细信息,请参阅 快照 Blob

(继承自 BlobBaseClient)
Delete(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)

Delete(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken) 操作标记要删除的指定 Blob 或快照。 稍后在垃圾回收期间删除 Blob,这可能需要几分钟时间。

请注意,要删除 Blob,必须删除其所有快照。 可以使用 同时 IncludeSnapshots删除这两者。

有关详细信息,请参阅 删除 Blob

(继承自 BlobBaseClient)
DeleteAsync(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)

DeleteAsync(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken) 操作标记要删除的指定 Blob 或快照。 稍后在垃圾回收期间删除 Blob,这可能需要几分钟时间。

请注意,要删除 Blob,必须删除其所有快照。 可以使用 同时 IncludeSnapshots删除这两者。

有关详细信息,请参阅 删除 Blob

(继承自 BlobBaseClient)
DeleteIfExists(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)

如果 blob 存在,则DeleteIfExists(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)操作将标记指定的 blob 或快照进行删除。 稍后在垃圾回收期间删除 Blob,这可能需要几分钟时间。

请注意,要删除 Blob,必须删除其所有快照。 可以使用 同时 IncludeSnapshots删除这两者。

有关详细信息,请参阅 删除 Blob

(继承自 BlobBaseClient)
DeleteIfExistsAsync(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)

如果 blob 存在,则DeleteIfExistsAsync(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)操作将标记指定的 blob 或快照进行删除。 稍后在垃圾回收期间删除 Blob,这可能需要几分钟时间。

请注意,要删除 Blob,必须删除其所有快照。 可以使用 同时 IncludeSnapshots删除这两者。

有关详细信息,请参阅 删除 Blob

(继承自 BlobBaseClient)
DeleteImmutabilityPolicy(CancellationToken)

删除与 Blob 关联的不可变性策略。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
DeleteImmutabilityPolicyAsync(CancellationToken)

删除与 Blob 关联的不可变性策略。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
DownloadContent()

操作 DownloadContent() 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadContent(BlobDownloadOptions, CancellationToken)

操作 DownloadContent(BlobDownloadOptions, CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadContent(CancellationToken)

操作 DownloadContent(CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadContentAsync()

操作 DownloadContentAsync() 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadContentAsync(BlobDownloadOptions, CancellationToken)

操作 DownloadContentAsync(BlobDownloadOptions, CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadContentAsync(CancellationToken)

操作 DownloadContentAsync(CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadStreaming(BlobDownloadOptions, CancellationToken)

操作 DownloadStreaming(BlobDownloadOptions, CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadStreamingAsync(BlobDownloadOptions, CancellationToken)

操作 DownloadStreamingAsync(BlobDownloadOptions, CancellationToken) 从服务下载 Blob,包括其元数据和属性。

有关详细信息,请参阅 获取 Blob

(继承自 BlobBaseClient)
DownloadTo(Stream)

操作 DownloadTo(Stream) 使用并行请求下载 Blob,并将内容 destination写入 。

(继承自 BlobBaseClient)
DownloadTo(Stream, BlobDownloadToOptions, CancellationToken)

操作 Azure.Storage.Blobs.Specialized.BlobBaseClient.DownloadTo(System.String,Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.StorageTransferOptions,System.Threading.CancellationToken) 使用并行请求下载 Blob,并将内容 options.Path.Path 写入 或 options.Stream.Stream

(继承自 BlobBaseClient)
DownloadTo(Stream, CancellationToken)

操作 DownloadTo(Stream, CancellationToken) 使用并行请求下载 Blob,并将内容 destination写入 。

(继承自 BlobBaseClient)
DownloadTo(String)

操作 DownloadTo(String) 使用并行请求下载 Blob,并将内容 path写入 。

(继承自 BlobBaseClient)
DownloadTo(String, BlobDownloadToOptions, CancellationToken)

操作 Azure.Storage.Blobs.Specialized.BlobBaseClient.DownloadTo(System.String,Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.StorageTransferOptions,System.Threading.CancellationToken) 使用并行请求下载 Blob,并将内容 options.Path.Path 写入 或 options.Stream.Stream

(继承自 BlobBaseClient)
DownloadTo(String, CancellationToken)

操作 DownloadTo(String, CancellationToken) 使用并行请求下载 Blob,并将内容 path写入 。

(继承自 BlobBaseClient)
DownloadToAsync(Stream)

DownloadToAsync(Stream)使用并行请求下载 Blob,并将内容写入 。destination

(继承自 BlobBaseClient)
DownloadToAsync(Stream, BlobDownloadToOptions, CancellationToken)

操作 Azure.Storage.Blobs.Specialized.BlobBaseClient.DownloadToAsync(System.IO.Stream,Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.StorageTransferOptions,System.Threading.CancellationToken) 使用并行请求下载 Blob,并将内容 options.Path.Path 写入 或 options.Stream.Stream

(继承自 BlobBaseClient)
DownloadToAsync(Stream, CancellationToken)

操作 DownloadToAsync(Stream, CancellationToken) 使用并行请求下载 Blob,并将内容 destination写入 。

(继承自 BlobBaseClient)
DownloadToAsync(String)

DownloadToAsync(String)使用并行请求下载 Blob,并将内容写入 。path

(继承自 BlobBaseClient)
DownloadToAsync(String, BlobDownloadToOptions, CancellationToken)

操作 Azure.Storage.Blobs.Specialized.BlobBaseClient.DownloadToAsync(System.IO.Stream,Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.StorageTransferOptions,System.Threading.CancellationToken) 使用并行请求下载 Blob,并将内容 options.Path.Path 写入 或 options.Stream.Stream

(继承自 BlobBaseClient)
DownloadToAsync(String, CancellationToken)

操作 DownloadToAsync(String, CancellationToken) 使用并行请求下载 Blob,并将内容 path写入 。

(继承自 BlobBaseClient)
Exists(CancellationToken)

Exists(CancellationToken)可以对 调用 BlobBaseClient 操作,以查看关联的 blob 是否存在于存储服务中存储帐户的容器中。

(继承自 BlobBaseClient)
ExistsAsync(CancellationToken)

ExistsAsync(CancellationToken)可以对 调用 BlobBaseClient 操作,以查看关联的 blob 是否存在于存储服务中存储帐户的容器中。

(继承自 BlobBaseClient)
GenerateSasUri(BlobSasBuilder)

GenerateSasUri(BlobSasBuilder)返回一个 ,Uri根据客户端属性和生成器生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。

若要检查客户端是否能够对服务 Sas 进行签名,请参阅 CanGenerateSasUri

有关详细信息,请参阅 构造服务 SAS

(继承自 BlobBaseClient)
GenerateSasUri(BlobSasPermissions, DateTimeOffset)

GenerateSasUri(BlobSasPermissions, DateTimeOffset)返回一个 ,Uri根据传递的客户端属性和参数, (SAS) URI 生成 Blob 服务共享访问签名。 SAS 由客户端的共享密钥凭据签名。

若要检查客户端是否能够对服务 Sas 进行签名,请参阅 CanGenerateSasUri

有关详细信息,请参阅 构造服务 SAS

(继承自 BlobBaseClient)
GetBlobLeaseClientCore(String)

初始化 BlobLeaseClient 类的新实例。

(继承自 BlobBaseClient)
GetBlockList(BlockListTypes, String, BlobRequestConditions, CancellationToken)

操作 GetBlockList(BlockListTypes, String, BlobRequestConditions, CancellationToken) 将检索已作为块 Blob 的一部分上传的块列表。 为 Blob 维护了两个块列表。 “提交的阻止”列表包含已使用 成功提交到给定 blob 的 CommitBlockList(IEnumerable<String>, CommitBlockListOptions, CancellationToken)块。 “未提交的阻止”列表包含已使用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)为 Blob 上传但尚未提交的块。 这些块存储在 Azure 中并与 Blob 关联,但尚未构成 Blob 的一部分。

GetBlockListAsync(BlockListTypes, String, BlobRequestConditions, CancellationToken)

操作 GetBlockListAsync(BlockListTypes, String, BlobRequestConditions, CancellationToken) 将检索已作为块 Blob 的一部分上传的块列表。 为 Blob 维护了两个块列表。 “提交的阻止”列表包含已使用 成功提交到给定 blob 的 CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken)块。 “未提交的阻止”列表包含已使用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlockAsync(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)为 Blob 上传但尚未提交的块。 这些块存储在 Azure 中并与 Blob 关联,但尚未构成 Blob 的一部分。

GetParentBlobContainerClientCore()

创建一个指向此BlobBaseClient的父容器的新 BlobContainerClient 。 新的 BlockBlobClient 使用与 相同的请求策略管道 BlobBaseClient

(继承自 BlobBaseClient)
GetProperties(BlobRequestConditions, CancellationToken)

GetProperties(BlobRequestConditions, CancellationToken) 操作返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。

有关详细信息,请参阅 获取 Blob 属性

(继承自 BlobBaseClient)
GetPropertiesAsync(BlobRequestConditions, CancellationToken)

GetPropertiesAsync(BlobRequestConditions, CancellationToken) 操作返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。

有关详细信息,请参阅 获取 Blob 属性

(继承自 BlobBaseClient)
GetTags(BlobRequestConditions, CancellationToken)

获取与基础 Blob 关联的标记。

有关详细信息,请参阅 获取 Blob 标记

(继承自 BlobBaseClient)
GetTagsAsync(BlobRequestConditions, CancellationToken)

获取与基础 Blob 关联的标记。

有关详细信息,请参阅 获取 Blob 标记

(继承自 BlobBaseClient)
OpenRead(BlobOpenReadOptions, CancellationToken)

打开一个流以便从 Blob 读取。 流只会在被读取时下载 Blob。

(继承自 BlobBaseClient)
OpenReadAsync(BlobOpenReadOptions, CancellationToken)

打开一个流以便从 Blob 读取。 流只会在被读取时下载 Blob。

(继承自 BlobBaseClient)
OpenWrite(Boolean, BlockBlobOpenWriteOptions, CancellationToken)

打开一个流以便向 Blob 写入。

OpenWriteAsync(Boolean, BlockBlobOpenWriteOptions, CancellationToken)

打开一个流以便向 Blob 写入。 如果 Blob 存在,则会将其覆盖。

Query(String, BlobQueryOptions, CancellationToken)

API Query(String, BlobQueryOptions, CancellationToken) 返回针对 Blob 的查询结果。

有关详细信息,请参阅 查询 Blob 内容

QueryAsync(String, BlobQueryOptions, CancellationToken)

API QueryAsync(String, BlobQueryOptions, CancellationToken) 返回针对 Blob 的查询结果。

有关详细信息,请参阅 查询 Blob 内容

SetAccessTier(AccessTier, BlobRequestConditions, Nullable<RehydratePriority>, CancellationToken)

操作 SetAccessTier(AccessTier, BlobRequestConditions, Nullable<RehydratePriority>, CancellationToken) 在 Blob 上设置层。 高级存储帐户中的页 Blob 以及 Blob 存储或常规用途 v2 帐户中的块 Blob 上允许该操作。

高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。 有关块 Blob 级别分层 Blob 存储层的详细信息。

有关设置层的详细信息,请参阅 Blob 存储层

(继承自 BlobBaseClient)
SetAccessTierAsync(AccessTier, BlobRequestConditions, Nullable<RehydratePriority>, CancellationToken)

操作 SetAccessTierAsync(AccessTier, BlobRequestConditions, Nullable<RehydratePriority>, CancellationToken) 在 Blob 上设置层。 高级存储帐户中的页 Blob 以及 Blob 存储或常规用途 v2 帐户中的块 Blob 上允许该操作。

高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。 有关块 Blob 级别分层 Blob 存储层的详细信息。

有关设置层的详细信息,请参阅 Blob 存储层

(继承自 BlobBaseClient)
SetHttpHeaders(BlobHttpHeaders, BlobRequestConditions, CancellationToken)

SetHttpHeaders(BlobHttpHeaders, BlobRequestConditions, CancellationToken) 操作在 Blob 上设置系统属性。

有关详细信息,请参阅 设置 Blob 属性

(继承自 BlobBaseClient)
SetHttpHeadersAsync(BlobHttpHeaders, BlobRequestConditions, CancellationToken)

SetHttpHeadersAsync(BlobHttpHeaders, BlobRequestConditions, CancellationToken) 操作在 Blob 上设置系统属性。

有关详细信息,请参阅 设置 Blob 属性

(继承自 BlobBaseClient)
SetImmutabilityPolicy(BlobImmutabilityPolicy, BlobRequestConditions, CancellationToken)

针对 Blob、Blob 快照或 Blob 版本设置不可变性策略。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
SetImmutabilityPolicyAsync(BlobImmutabilityPolicy, BlobRequestConditions, CancellationToken)

针对 Blob、Blob 快照或 Blob 版本设置不可变性策略。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
SetLegalHold(Boolean, CancellationToken)

对 Blob 设置法定保留。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
SetLegalHoldAsync(Boolean, CancellationToken)

对 Blob 设置法定保留。 请注意,必须在存储帐户上启用 Blob 版本控制,并且 Blob 必须位于启用了版本控制且具有不可变存储的容器中,才能调用此 API。

(继承自 BlobBaseClient)
SetMetadata(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

SetMetadata(IDictionary<String,String>, BlobRequestConditions, CancellationToken)操作将指定 Blob 的用户定义元数据设置为一个或多个名称/值对。

有关详细信息,请参阅 设置 Blob 元数据

(继承自 BlobBaseClient)
SetMetadataAsync(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

SetMetadataAsync(IDictionary<String,String>, BlobRequestConditions, CancellationToken)操作将指定 Blob 的用户定义元数据设置为一个或多个名称/值对。

有关详细信息,请参阅 设置 Blob 元数据

(继承自 BlobBaseClient)
SetTags(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

在基础 Blob 上设置标记。 一个 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、 (0-9) 的数字、空格 (') ,加上 ('+') 、减 ('-') 、句点 ('。) ,正斜杠 ('/') ,冒号 (':') ,等于 ('=') ,下划线 ('_') 。

有关详细信息,请参阅 设置 Blob 标记

(继承自 BlobBaseClient)
SetTagsAsync(IDictionary<String,String>, BlobRequestConditions, CancellationToken)

在基础 Blob 上设置标记。 一个 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、 (0-9) 的数字、空格 (') ,加上 ('+') 、减 ('-') 、句点 ('。) ,正斜杠 ('/') ,冒号 (':') ,等于 ('=') ,下划线 ('_') 。

有关详细信息,请参阅 设置 Blob 标记

(继承自 BlobBaseClient)
StageBlock(String, Stream, BlockBlobStageBlockOptions, CancellationToken)

操作 StageBlock(String, Stream, BlockBlobStageBlockOptions, CancellationToken) 会创建一个新块,作为块 Blob 的“暂存区域”的一部分,以便最终通过 CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken) 操作提交。

有关详细信息,请参阅 放置块

StageBlockAsync(String, Stream, BlockBlobStageBlockOptions, CancellationToken)

操作 StageBlockAsync(String, Stream, BlockBlobStageBlockOptions, CancellationToken) 会创建一个新块,作为块 Blob 的“暂存区域”的一部分,以便最终通过 CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken) 操作提交。

有关详细信息,请参阅 放置块

StageBlockFromUri(Uri, String, StageBlockFromUriOptions, CancellationToken)

StageBlockFromUri(Uri, String, StageBlockFromUriOptions, CancellationToken) 操作创建一个新块,作为 Blob 的一部分提交,其中的内容是从 中 sourceUri读取的。

有关详细信息,请参阅 将阻止来自 URL

StageBlockFromUriAsync(Uri, String, StageBlockFromUriOptions, CancellationToken)

StageBlockFromUriAsync(Uri, String, StageBlockFromUriOptions, CancellationToken) 操作创建一个新块,作为 Blob 的一部分提交,其中的内容是从 中 sourceUri读取的。

有关详细信息,请参阅 将阻止来自 URL

StartCopyFromUri(Uri, BlobCopyFromUriOptions, CancellationToken)

操作 StartCopyFromUri(Uri, BlobCopyFromUriOptions, CancellationToken) 开始将数据从 异步 source 复制到此 Blob。 可以检查Azure.Storage.Blobs.Models.BlobProperties.CopyStatusGetProperties(BlobRequestConditions, CancellationToken) 返回的 以确定复制是否已完成。

有关详细信息,请参阅 复制 Blob

(继承自 BlobBaseClient)
StartCopyFromUriAsync(Uri, BlobCopyFromUriOptions, CancellationToken)

操作 Azure.Storage.Blobs.Specialized.BlobBaseClient.StartCopyFromUri(System.Uri,System.Collections.Generic.IDictionary{System.String,System.String},System.Nullable{Azure.Storage.Blobs.Models.AccessTier},Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.Blobs.Models.BlobRequestConditions,System.Nullable{Azure.Storage.Blobs.Models.RehydratePriority},System.Threading.CancellationToken) 开始将数据从 异步 source 复制到此 Blob。 可以检查Azure.Storage.Blobs.Models.BlobProperties.CopyStatusGetPropertiesAsync(BlobRequestConditions, CancellationToken) 返回的 以确定复制是否已完成。

有关详细信息,请参阅 复制 Blob

(继承自 BlobBaseClient)
SyncCopyFromUri(Uri, BlobCopyFromUriOptions, CancellationToken)

“从 URL 复制 Blob”操作将 Blob 同步复制到存储帐户中的目标,以便源 Blob 大小高达 256 MiB。 此 API 从版本 2018-03-28 开始可用。 从 URL 复制 Blob 操作的源可以是任何 Azure 存储帐户中的任何已提交的块 Blob,该帐户可以是公共的,也可以是具有共享访问签名的授权。

源 Blob 的大小最大长度为 256 MiB。

有关详细信息,请参阅 从 URL 复制 Blob

(继承自 BlobBaseClient)
SyncCopyFromUriAsync(Uri, BlobCopyFromUriOptions, CancellationToken)

“从 URL 复制 Blob”操作将 Blob 同步复制到存储帐户中的目标,以便源 Blob 大小高达 256 MiB。 此 API 从版本 2018-03-28 开始可用。 从 URL 复制 Blob 操作的源可以是任何 Azure 存储帐户中的任何已提交的块 Blob,该帐户可以是公共的,也可以是具有共享访问签名的授权。

源 Blob 的大小最大长度为 256 MiB。

有关详细信息,请参阅 从 URL 复制 Blob

(继承自 BlobBaseClient)
SyncUploadFromUri(Uri, BlobSyncUploadFromUriOptions, CancellationToken)

从 URI 上传操作会创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。

从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请将来自 URL 的放置块 API 与放置块列表结合使用。

SyncUploadFromUri(Uri, Boolean, CancellationToken)

从 URI 上传操作会创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。

从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请将来自 URL 的放置块 API 与放置块列表结合使用。

SyncUploadFromUriAsync(Uri, BlobSyncUploadFromUriOptions, CancellationToken)

从 URI 上传操作会创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。

从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请将来自 URL 的放置块 API 与放置块列表结合使用。

SyncUploadFromUriAsync(Uri, Boolean, CancellationToken)

从 URI 上传操作会创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。

从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请将来自 URL 的放置块 API 与放置块列表结合使用。

Undelete(CancellationToken)

Undelete(CancellationToken) 操作还原软删除的 Blob 和任何关联的软删除快照的内容和元数据。

有关详细信息,请参阅 取消删除 Blob

(继承自 BlobBaseClient)
UndeleteAsync(CancellationToken)

UndeleteAsync(CancellationToken) 操作还原软删除的 Blob 和任何关联的软删除快照的内容和元数据。

有关详细信息,请参阅 取消删除 Blob

(继承自 BlobBaseClient)
Upload(Stream, BlobUploadOptions, CancellationToken)

Upload(Stream, BlobUploadOptions, CancellationToken) 操作将覆盖 Blob 的内容,如果不存在,则创建一个新的块 Blob。 覆盖现有块 Blob 会替换 Blob 上的任何现有元数据。

通过 设置访问条件Conditions以避免覆盖现有数据。

不支持使用Upload(Stream, BlobUploadOptions, CancellationToken) 进行部分更新;新 Blob 的内容会覆盖现有 Blob 的内容。 若要对块 Blob 的内容执行部分更新,请使用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)CommitBlockList(IEnumerable<String>, CommitBlockListOptions, CancellationToken) 操作。

有关详细信息,请参阅 放置 Blob

UploadAsync(Stream, BlobUploadOptions, CancellationToken)

UploadAsync(Stream, BlobUploadOptions, CancellationToken) 操作将覆盖 Blob 的内容,如果不存在,则创建一个新的块 Blob。 覆盖现有块 Blob 会替换 Blob 上的任何现有元数据。

通过 设置访问条件Conditions以避免覆盖现有数据。

不支持使用UploadAsync(Stream, BlobUploadOptions, CancellationToken) 进行部分更新;新 Blob 的内容会覆盖现有 Blob 的内容。 若要对块 Blob 的内容执行部分更新,请使用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)CommitBlockListAsync(IEnumerable<String>, CommitBlockListOptions, CancellationToken) 操作。

有关详细信息,请参阅 放置 Blob

WithCustomerProvidedKey(Nullable<CustomerProvidedKey>)

使用相同的Uri源但指定的 customerProvidedKey初始化 类的新实例BlockBlobClient

WithEncryptionScope(String)

使用相同的Uri源但指定的 encryptionScope初始化 类的新实例BlockBlobClient

WithSnapshot(String)

使用相同的Uri源但指定的snapshot时间戳初始化 类的新实例BlockBlobClient

有关详细信息,请参阅 创建 blob 的快照

WithSnapshotCore(String)

创建具有相同Uri源但指定snapshot时间戳的 类的新实例BlockBlobClient

WithVersion(String)

使用相同的Uri源但指定的versionId时间戳初始化 类的新实例BlockBlobClient

扩展方法

GetBlobLeaseClient(BlobBaseClient, String)

初始化 BlobLeaseClient 类的新实例。

GetParentBlobContainerClient(BlobBaseClient)

创建一个指向此BlobBaseClient父容器的新BlobContainerClient。 新的 BlockBlobClient 使用与 相同的请求策略管道 BlobBaseClient

适用于