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

PageBlobClient class

PageBlobClient 定义一组适用于页 Blob 的操作。

Extends

构造函数

PageBlobClient(string, PipelineLike)

创建 PageBlobClient 的实例。

PageBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

创建 PageBlobClient 的实例。 此方法接受指向 blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。

PageBlobClient(string, string, string, StoragePipelineOptions)

创建 PageBlobClient 的实例。

属性

containerName

与 Blob 关联的存储容器的名称。

name

Blob 的名称。

继承属性

accountName
credential

例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity 凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。

url

编码的 URL 字符串值。

方法

clearPages(number, number, PageBlobClearPagesOptions)

从页 Blob 中释放指定的页。

请参见https://docs.microsoft.com/rest/api/storageservices/put-page

create(number, PageBlobCreateOptions)

创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。

请参见https://docs.microsoft.com/rest/api/storageservices/put-blob

createIfNotExists(number, PageBlobCreateIfNotExistsOptions)

创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。 如果已存在同名的 Blob,现有 Blob 的内容将保持不变。

请参见https://docs.microsoft.com/rest/api/storageservices/put-blob

getPageRanges(number, number, PageBlobGetPageRangesOptions)

返回页 Blob 或页 Blob 快照的有效页范围列表。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

getPageRangesDiff(number, number, string, PageBlobGetPageRangesDiffOptions)

获取指定快照和此页 Blob 之间不同页范围的集合。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

getPageRangesDiffForManagedDisks(number, number, string, PageBlobGetPageRangesDiffOptions)

获取托管磁盘的指定快照和此页 Blob 之间不同页范围的集合。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

listPageRanges(number, number, PageBlobListPageRangesOptions)

返回页 Blob 页范围列表的异步可迭代器。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

.byPage () 返回页 Blob 页范围列表的异步可迭代器。

使用 for await 语法的示例:

// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRanges()) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

使用 iter.next() 的示例:

let i = 1;
let iter = pageBlobClient.listPageRanges();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
  console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
  pageRangeItem = await iter.next();
}

使用 byPage() 的示例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
  for (const pageRange of response) {
    console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
  }
}

使用标记分页的示例:

let i = 1;
let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 page ranges
for (const pageRange of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 page ranges
for (const blob of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
listPageRangesDiff(number, number, string, PageBlobListPageRangesDiffOptions)

返回一个异步可迭代器,该迭代器指向指定快照和此页 Blob 之间不同页范围的列表。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

.byPage () 返回一个异步可迭代器,该迭代器指向指定快照和此页 Blob 之间不同页范围的列表。

使用 for await 语法的示例:

// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRangesDiff()) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

使用 iter.next() 的示例:

let i = 1;
let iter = pageBlobClient.listPageRangesDiff();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
  console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
  pageRangeItem = await iter.next();
}

使用 byPage() 的示例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 20 })) {
  for (const pageRange of response) {
    console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
  }
}

使用标记分页的示例:

let i = 1;
let iterator = pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 page ranges
for (const pageRange of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = pageBlobClient.listPageRangesDiff().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 page ranges
for (const blob of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
resize(number, PageBlobResizeOptions)

将页 blob 调整为指定大小 (该大小必须是 512) 的倍数。

请参见https://docs.microsoft.com/rest/api/storageservices/set-blob-properties

startCopyIncremental(string, PageBlobStartCopyIncrementalOptions)

开始一个操作,以启动从一页 Blob 的快照到此页 Blob 的增量复制。 复制快照,以便仅将以前复制的快照之间的差异更改传输到目标。 复制的快照是原始快照的完整副本,可以像往常一样从中读取或复制。

请参阅 https://docs.microsoft.com/rest/api/storageservices/incremental-copy-blob 查看 https://docs.microsoft.com/en-us/azure/virtual-machines/windows/incremental-snapshots

updateSequenceNumber(SequenceNumberActionType, number, PageBlobUpdateSequenceNumberOptions)

设置页 Blob 的序列号。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

uploadPages(HttpRequestBody, number, number, PageBlobUploadPagesOptions)

将 1 页或更多页写入页 Blob。 开始偏移量和结束偏移量必须是 512 的倍数。

请参见https://docs.microsoft.com/rest/api/storageservices/put-page

uploadPagesFromURL(string, number, number, number, PageBlobUploadPagesFromURLOptions)

“上传页面”操作将一系列页面写入页 Blob,其中的内容是从 URL 读取的。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url

withSnapshot(string)

创建与源相同但具有指定快照时间戳的新 PageBlobClient 对象。 提供“”将删除快照并将客户端返回到基本 Blob。

继承的方法

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

中止挂起的异步复制 Blob 操作,并将目标 Blob 保留为零长度和完整元数据。 版本 2012-02-12 及更新。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

将 Blob 异步复制到存储帐户内的目标。 此方法返回一个长时间运行的操作轮询程序,使你可以无限期地等待复制完成。 还可以通过在轮询器上调用 cancelOperation 副本,在副本完成之前取消该副本。 请注意,如果操作在第一个请求中完成,并且尝试取消已完成的副本将导致引发错误,则不会调用 onProgress 回调。

在版本 2012-02-12 及更高版本中,复制 Blob 操作的源可以是任何 Azure 存储帐户中的已提交的 Blob。 从版本 2015-02-21 开始,复制 Blob 操作的源可以是任何 Azure 存储帐户中的 Azure 文件。 只有创建于 2012 年 6 月 7 日或之后的存储帐户才允许 Blob 复制操作从其他存储帐户中进行复制。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob

使用自动轮询的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
const result = await copyPoller.pollUntilDone();

使用手动轮询的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
while (!poller.isDone()) {
   await poller.poll();
}
const result = copyPoller.getResult();

使用进度更新的示例:

const copyPoller = await blobClient.beginCopyFromURL('url', {
  onProgress(state) {
    console.log(`Progress: ${state.copyProgress}`);
  }
});
const result = await copyPoller.pollUntilDone();

使用更改轮询间隔的示例 (默认 15 秒) :

const copyPoller = await blobClient.beginCopyFromURL('url', {
  intervalInMs: 1000 // poll blob every 1 second for copy progress
});
const result = await copyPoller.pollUntilDone();

使用复制取消的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
// cancel operation after starting it.
try {
  await copyPoller.cancelOperation();
  // calls to get the result now throw PollerCancelledError
  await copyPoller.getResult();
} catch (err) {
  if (err.name === 'PollerCancelledError') {
    console.log('The copy was cancelled.');
  }
}
createSnapshot(BlobCreateSnapshotOptions)

创建 Blob 的只读快照。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

delete(BlobDeleteOptions)

标记要删除的指定 Blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(BlobDeleteOptions)

将指定的 Blob 或快照标记为要删除(如果存在)。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

删除 Blob 上的不可变策略。

download(number, number, BlobDownloadOptions)

从系统读取或下载 Blob,包括其元数据和属性。 还可以调用获取 Blob 来读取快照。

  • 在 Node.js 中,数据在可读流可读StreamBody 中返回
  • 在浏览器中,数据在 promise blobBody 中返回

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。

警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 downloadToFile

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。

警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 downloadToFile

downloadToFile(string, number, number, BlobDownloadOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 下载到本地文件。 如果给定的文件路径已退出,则失败。 偏移量和计数是可选的,分别传递 0 和未定义以下载整个 Blob。

exists(BlobExistsOptions)

如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。

注意:请谨慎使用此函数,因为其他客户端或应用程序可能会删除现有 Blob。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新 Blob。

generateSasUrl(BlobGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 BlobClient。

根据传入的客户端属性和参数生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAppendBlobClient()

创建 AppendBlobClient 对象。

getBlobLeaseClient(string)

获取管理 Blob 上的租约的 BlobLeaseClient

getBlockBlobClient()

创建 BlockBlobClient 对象。

getPageBlobClient()

创建 PageBlobClient 对象。

getProperties(BlobGetPropertiesOptions)

返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties

警告:响应 metadata 中返回的对象将具有小写的键,即使它们最初包含大写字符也是如此。 这不同于 ContainerClient 方法返回的元数据键,这些方法使用 includeMetadata 选项列出 Blob,该选项将保留其原始大小写。

getTags(BlobGetTagsOptions)

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

setAccessTier(string, BlobSetTierOptions)

设置 Blob 上的层。 允许对高级存储帐户中的页 Blob 和 blob 存储帐户中的块 blob 执行该操作, (本地冗余存储仅) 。 高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

在 blob 上设置系统属性。

如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则将清除这些没有值的 Blob HTTP 标头。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

在 Blob 上设置不可变策略。

setLegalHold(boolean, BlobSetLegalHoldOptions)

对 Blob 设置法定保留。

setMetadata(Metadata, BlobSetMetadataOptions)

将特定 blob 的用户定义元数据设置为一个或多个名称/值对。

如果未提供选项,或者参数中未定义任何元数据,则将删除 Blob 元数据。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata

setTags(Tags, BlobSetTagsOptions)

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

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

同步复制自 URL 操作将 Blob 或 Internet 资源复制到新 Blob。 在复制完成之前,它不会返回响应。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

undelete(BlobUndeleteOptions)

还原软删除的 Blob 和任何关联的软删除快照的内容和元数据。 仅在版本 2017-07-29 或更高版本上支持取消删除 Blob。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob

withVersion(string)

创建一个新的 BlobClient 对象,该对象指向此 Blob 的某个版本。 提供“”将删除 versionId 并将客户端返回到基本 Blob。

构造函数详细信息

PageBlobClient(string, PipelineLike)

创建 PageBlobClient 的实例。

new PageBlobClient(url: string, pipeline: PipelineLike)

参数

url

string

指向 Azure 存储页 blob 的 URL 字符串,例如“https://myaccount.blob.core.windows.net/mycontainer/pageblob"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString"”。 此方法接受指向 blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 但是,如果 Blob 名称包含 ? 或 % blob 名称必须在 URL 中编码。 例如名为“my?blob%”的 Blob,URL 应为“https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25"”。

pipeline
PipelineLike

调用 newPipeline () 以创建默认管道或提供自定义管道。

PageBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

创建 PageBlobClient 的实例。 此方法接受指向 blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。

new PageBlobClient(url: string, credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

参数

url

string

指向 Azure 存储页 blob 的客户端字符串,例如“https://myaccount.blob.core.windows.net/mycontainer/pageblob"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString"”。

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity 凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。

options
StoragePipelineOptions

可选。 用于配置 HTTP 管道的选项。

PageBlobClient(string, string, string, StoragePipelineOptions)

创建 PageBlobClient 的实例。

new PageBlobClient(connectionString: string, containerName: string, blobName: string, options?: StoragePipelineOptions)

参数

connectionString

string

Azure 存储帐户的帐户连接字符串或 SAS 连接字符串。 [ 注意 - 帐户连接字符串只能在NODE.JS运行时中使用。 ] 帐户连接字符串示例 -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS 连接字符串示例 - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString

containerName

string

容器名称。

blobName

string

Blob 名称。

options
StoragePipelineOptions

可选。 用于配置 HTTP 管道的选项。

属性详细信息

containerName

与 Blob 关联的存储容器的名称。

string containerName

属性值

string

name

Blob 的名称。

string name

属性值

string

继承属性详细信息

accountName

accountName: string

属性值

string

继承自BlobClient.accountName

credential

例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity 凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

属性值

继承自BlobClient.credential

url

编码的 URL 字符串值。

url: string

属性值

string

继承自BlobClient.url

方法详细信息

clearPages(number, number, PageBlobClearPagesOptions)

从页 Blob 中释放指定的页。

请参见https://docs.microsoft.com/rest/api/storageservices/put-page

function clearPages(offset?: number, count?: number, options?: PageBlobClearPagesOptions): Promise<PageBlobClearPagesResponse>

参数

offset

number

要清除的页面的起始字节位置。

count

number

要清除的字节数。

options
PageBlobClearPagesOptions

“页 Blob 清除页”操作的选项。

返回

页 Blob 清除页面操作的响应数据。

create(number, PageBlobCreateOptions)

创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。

请参见https://docs.microsoft.com/rest/api/storageservices/put-blob

function create(size: number, options?: PageBlobCreateOptions): Promise<PageBlobCreateResponse>

参数

size

number

页 Blob 的大小。

options
PageBlobCreateOptions

页 Blob 创建操作的选项。

返回

页 Blob 创建操作的响应数据。

createIfNotExists(number, PageBlobCreateIfNotExistsOptions)

创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。 如果已存在同名的 Blob,现有 Blob 的内容将保持不变。

请参见https://docs.microsoft.com/rest/api/storageservices/put-blob

function createIfNotExists(size: number, options?: PageBlobCreateIfNotExistsOptions): Promise<PageBlobCreateIfNotExistsResponse>

参数

size

number

页 Blob 的大小。

返回

getPageRanges(number, number, PageBlobGetPageRangesOptions)

返回页 Blob 或页 Blob 快照的有效页范围列表。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

function getPageRanges(offset?: number, count?: number, options?: PageBlobGetPageRangesOptions): Promise<PageBlobGetPageRangesResponse>

参数

offset

number

页面范围的起始字节位置。

count

number

要获取的字节数。

options
PageBlobGetPageRangesOptions

页 Blob 获取范围操作的选项。

返回

页 Blob 获取范围操作的响应数据。

getPageRangesDiff(number, number, string, PageBlobGetPageRangesDiffOptions)

获取指定快照和此页 Blob 之间不同页范围的集合。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

function getPageRangesDiff(offset: number, count: number, prevSnapshot: string, options?: PageBlobGetPageRangesDiffOptions): Promise<PageBlobGetPageRangesDiffResponse>

参数

offset

number

页 Blob 的起始字节位置

count

number

要获取范围差异的字节数。

prevSnapshot

string

用于检索差异的快照时间戳。

options
PageBlobGetPageRangesDiffOptions

页 Blob 获取页面范围差异操作的选项。

返回

页 Blob 获取页范围差异操作的响应数据。

getPageRangesDiffForManagedDisks(number, number, string, PageBlobGetPageRangesDiffOptions)

获取托管磁盘的指定快照和此页 Blob 之间不同页范围的集合。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

function getPageRangesDiffForManagedDisks(offset: number, count: number, prevSnapshotUrl: string, options?: PageBlobGetPageRangesDiffOptions): Promise<PageBlobGetPageRangesDiffResponse>

参数

offset

number

页 Blob 的起始字节位置

count

number

要获取范围差异的字节数。

prevSnapshotUrl

string

要检索差异的快照的 URL。

options
PageBlobGetPageRangesDiffOptions

页 Blob 获取页面范围差异操作的选项。

返回

页 Blob 获取页范围差异操作的响应数据。

listPageRanges(number, number, PageBlobListPageRangesOptions)

返回页 Blob 页范围列表的异步可迭代器。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

.byPage () 返回页 Blob 页范围列表的异步可迭代器。

使用 for await 语法的示例:

// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRanges()) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

使用 iter.next() 的示例:

let i = 1;
let iter = pageBlobClient.listPageRanges();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
  console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
  pageRangeItem = await iter.next();
}

使用 byPage() 的示例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
  for (const pageRange of response) {
    console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
  }
}

使用标记分页的示例:

let i = 1;
let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 page ranges
for (const pageRange of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 page ranges
for (const blob of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
function listPageRanges(offset?: number, count?: number, options?: PageBlobListPageRangesOptions): PagedAsyncIterableIterator<PageRangeInfo, PageBlobGetPageRangesResponseModel, PageSettings>

参数

offset

number

页面范围的起始字节位置。

count

number

要获取的字节数。

options
PageBlobListPageRangesOptions

页 Blob 获取范围操作的选项。

返回

支持分页的 asyncIterableIterator。

listPageRangesDiff(number, number, string, PageBlobListPageRangesDiffOptions)

返回一个异步可迭代器,该迭代器指向指定快照和此页 Blob 之间不同页范围的列表。

请参见https://docs.microsoft.com/rest/api/storageservices/get-page-ranges

.byPage () 返回一个异步可迭代器,该迭代器指向指定快照和此页 Blob 之间不同页范围的列表。

使用 for await 语法的示例:

// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRangesDiff()) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

使用 iter.next() 的示例:

let i = 1;
let iter = pageBlobClient.listPageRangesDiff();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
  console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
  pageRangeItem = await iter.next();
}

使用 byPage() 的示例:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 20 })) {
  for (const pageRange of response) {
    console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
  }
}

使用标记分页的示例:

let i = 1;
let iterator = pageBlobClient.listPageRangesDiff().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 page ranges
for (const pageRange of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = pageBlobClient.listPageRangesDiff().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 page ranges
for (const blob of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
function listPageRangesDiff(offset: number, count: number, prevSnapshot: string, options?: PageBlobListPageRangesDiffOptions): PagedAsyncIterableIterator<PageRangeInfo, PageBlobGetPageRangesDiffResponseModel, PageSettings>

参数

offset

number

页面范围的起始字节位置。

count

number

要获取的字节数。

prevSnapshot

string

用于检索差异的快照时间戳。

options
PageBlobListPageRangesDiffOptions

页 Blob 获取范围操作的选项。

返回

支持分页的 asyncIterableIterator。

resize(number, PageBlobResizeOptions)

将页 blob 调整为指定大小 (该大小必须是 512) 的倍数。

请参见https://docs.microsoft.com/rest/api/storageservices/set-blob-properties

function resize(size: number, options?: PageBlobResizeOptions): Promise<PageBlobResizeResponse>

参数

size

number

目标大小

options
PageBlobResizeOptions

页 Blob 调整大小操作的选项。

返回

页面 Blob 大小调整操作的响应数据。

startCopyIncremental(string, PageBlobStartCopyIncrementalOptions)

开始一个操作,以启动从一页 Blob 的快照到此页 Blob 的增量复制。 复制快照,以便仅将以前复制的快照之间的差异更改传输到目标。 复制的快照是原始快照的完整副本,可以像往常一样从中读取或复制。

请参阅 https://docs.microsoft.com/rest/api/storageservices/incremental-copy-blob 查看 https://docs.microsoft.com/en-us/azure/virtual-machines/windows/incremental-snapshots

function startCopyIncremental(copySource: string, options?: PageBlobStartCopyIncrementalOptions): Promise<PageBlobCopyIncrementalResponse>

参数

copySource

string

指定源页 Blob 快照的名称。 例如: https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=

options
PageBlobStartCopyIncrementalOptions

页 Blob 复制增量操作的选项。

返回

页 Blob 复制增量操作的响应数据。

updateSequenceNumber(SequenceNumberActionType, number, PageBlobUpdateSequenceNumberOptions)

设置页 Blob 的序列号。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

function updateSequenceNumber(sequenceNumberAction: SequenceNumberActionType, sequenceNumber?: number, options?: PageBlobUpdateSequenceNumberOptions): Promise<PageBlobUpdateSequenceNumberResponse>

参数

sequenceNumberAction
SequenceNumberActionType

指示服务应如何修改 Blob 的序列号。

sequenceNumber

number

如果 sequenceNumberAction 为 max 或 update,则是必需的

options
PageBlobUpdateSequenceNumberOptions

页 Blob 更新序列号操作的选项。

返回

页 Blob 更新序列号操作的响应数据。

uploadPages(HttpRequestBody, number, number, PageBlobUploadPagesOptions)

将 1 页或更多页写入页 Blob。 开始偏移量和结束偏移量必须是 512 的倍数。

请参见https://docs.microsoft.com/rest/api/storageservices/put-page

function uploadPages(body: HttpRequestBody, offset: number, count: number, options?: PageBlobUploadPagesOptions): Promise<PageBlobUploadPagesResponse>

参数

body
HttpRequestBody

要上传的数据

offset

number

目标页 Blob 的偏移量

count

number

正文的内容长度,以及要上传的字节数

options
PageBlobUploadPagesOptions

页 Blob 上传页面操作的选项。

返回

页 Blob 上传页面操作的响应数据。

uploadPagesFromURL(string, number, number, number, PageBlobUploadPagesFromURLOptions)

“上传页面”操作将一系列页面写入页 Blob,其中的内容是从 URL 读取的。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url

function uploadPagesFromURL(sourceURL: string, sourceOffset: number, destOffset: number, count: number, options?: PageBlobUploadPagesFromURLOptions): Promise<PageBlobUploadPagesFromURLResponse>

参数

sourceURL

string

指定复制源的 URL、共享访问签名 (SAS) 身份验证可能需要

sourceOffset

number

要从中复制的源偏移量。 传递 0 以从源页 Blob 的开头复制

destOffset

number

目标页 Blob 的偏移量

count

number

要从源页 Blob 上传的字节数

返回

withSnapshot(string)

创建与源相同但具有指定快照时间戳的新 PageBlobClient 对象。 提供“”将删除快照并将客户端返回到基本 Blob。

function withSnapshot(snapshot: string): PageBlobClient

参数

snapshot

string

快照时间戳。

返回

新的 PageBlobClient 对象与源相同,但具有指定的快照时间戳。

继承的方法详细信息

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

中止挂起的异步复制 Blob 操作,并将目标 Blob 保留为零长度和完整元数据。 版本 2012-02-12 及更新。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob

function abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions): Promise<BlobAbortCopyFromURLResponse>

参数

copyId

string

复制自 URL 操作的 ID。

options
BlobAbortCopyFromURLOptions

Blob 中止复制自 URL 操作的可选选项。

返回

继承自BlobClient.abortCopyFromURL

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

将 Blob 异步复制到存储帐户内的目标。 此方法返回一个长时间运行的操作轮询程序,使你可以无限期地等待复制完成。 还可以通过在轮询器上调用 cancelOperation 副本,在副本完成之前取消该副本。 请注意,如果操作在第一个请求中完成,并且尝试取消已完成的副本将导致引发错误,则不会调用 onProgress 回调。

在版本 2012-02-12 及更高版本中,复制 Blob 操作的源可以是任何 Azure 存储帐户中的已提交的 Blob。 从版本 2015-02-21 开始,复制 Blob 操作的源可以是任何 Azure 存储帐户中的 Azure 文件。 只有创建于 2012 年 6 月 7 日或之后的存储帐户才允许 Blob 复制操作从其他存储帐户中进行复制。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob

使用自动轮询的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
const result = await copyPoller.pollUntilDone();

使用手动轮询的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
while (!poller.isDone()) {
   await poller.poll();
}
const result = copyPoller.getResult();

使用进度更新的示例:

const copyPoller = await blobClient.beginCopyFromURL('url', {
  onProgress(state) {
    console.log(`Progress: ${state.copyProgress}`);
  }
});
const result = await copyPoller.pollUntilDone();

使用更改轮询间隔的示例 (默认 15 秒) :

const copyPoller = await blobClient.beginCopyFromURL('url', {
  intervalInMs: 1000 // poll blob every 1 second for copy progress
});
const result = await copyPoller.pollUntilDone();

使用复制取消的示例:

const copyPoller = await blobClient.beginCopyFromURL('url');
// cancel operation after starting it.
try {
  await copyPoller.cancelOperation();
  // calls to get the result now throw PollerCancelledError
  await copyPoller.getResult();
} catch (err) {
  if (err.name === 'PollerCancelledError') {
    console.log('The copy was cancelled.');
  }
}
function beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions): Promise<PollerLikeWithCancellation<PollOperationState<BlobBeginCopyFromURLResponse>, BlobBeginCopyFromURLResponse>>

参数

copySource

string

指向源 Azure Blob/文件的 url。

options
BlobBeginCopyFromURLOptions

Blob“从 URL 开始复制”操作的可选选项。

返回

继承自BlobClient.beginCopyFromURL

createSnapshot(BlobCreateSnapshotOptions)

创建 Blob 的只读快照。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

function createSnapshot(options?: BlobCreateSnapshotOptions): Promise<BlobCreateSnapshotResponse>

参数

options
BlobCreateSnapshotOptions

Blob 创建快照操作的可选选项。

返回

继承自BlobClient.createSnapshot

delete(BlobDeleteOptions)

标记要删除的指定 Blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function delete(options?: BlobDeleteOptions): Promise<BlobDeleteResponse>

参数

options
BlobDeleteOptions

Blob 删除操作的可选选项。

返回

继承自BlobClient.delete

deleteIfExists(BlobDeleteOptions)

将指定的 Blob 或快照标记为要删除(如果存在)。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用删除 Blob 操作同时删除这两者。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function deleteIfExists(options?: BlobDeleteOptions): Promise<BlobDeleteIfExistsResponse>

参数

options
BlobDeleteOptions

Blob 删除操作的可选选项。

返回

继承自BlobClient.deleteIfExists

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

删除 Blob 上的不可变策略。

function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions): Promise<BlobDeleteImmutabilityPolicyResponse>

参数

options
BlobDeleteImmutabilityPolicyOptions

用于在 Blob 上删除不可变策略的可选选项。

返回

继承自BlobClient.deleteImmutabilityPolicy

download(number, number, BlobDownloadOptions)

从系统读取或下载 Blob,包括其元数据和属性。 还可以调用获取 Blob 来读取快照。

  • 在 Node.js 中,数据在可读流可读StreamBody 中返回
  • 在浏览器中,数据在 promise blobBody 中返回

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob

function download(offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>

参数

offset

number

要从哪个位置下载 Blob,大于或等于 0

count

number

要下载的数据量,大于 0。 未定义时将下载到末尾

options
BlobDownloadOptions

Blob 下载操作的可选选项。

示例用法 (Node.js) :

// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await streamToBuffer(downloadBlockBlobResponse.readableStreamBody);
console.log("Downloaded blob content:", downloaded.toString());

async function streamToBuffer(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on("data", (data) => {
chunks.push(data instanceof Buffer ? data : Buffer.from(data));
});
readableStream.on("end", () => {
resolve(Buffer.concat(chunks));
});
readableStream.on("error", reject);
});
}

浏览器) (用法示例:

// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await blobToString(await downloadBlockBlobResponse.blobBody);
console.log(
  "Downloaded blob content",
  downloaded
);

async function blobToString(blob: Blob): Promise<string> {
  const fileReader = new FileReader();
  return new Promise<string>((resolve, reject) => {
    fileReader.onloadend = (ev: any) => {
      resolve(ev.target!.result);
    };
    fileReader.onerror = reject;
    fileReader.readAsText(blob);
  });
}

返回

继承自BlobClient.download

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。

警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 downloadToFile

function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>

参数

buffer

Buffer

要填充的缓冲区,长度必须大于计数

offset

number

从块 blob 的哪个位置下载 ((以字节为单位))

count

number

要下载的数据 ((以字节为单位)) 。 传递未定义时,将下载到末尾

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

返回

Promise<Buffer>

继承自BlobClient.downloadToBuffer

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。

警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 downloadToFile

function downloadToBuffer(offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>

参数

offset

number

要从块 blob 的哪个位置下载 ((以字节为单位))

count

number

下载) (的数据量(以字节为单位)。 传递 undefined 时将下载到末尾

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

返回

Promise<Buffer>

继承自BlobClient.downloadToBuffer

downloadToFile(string, number, number, BlobDownloadOptions)

仅在 NODE.JS RUNTIME 中可用。

将 Azure Blob 下载到本地文件。 如果给定的文件路径已退出,则失败。 偏移量和计数是可选的,分别传递 0 和未定义以下载整个 Blob。

function downloadToFile(filePath: string, offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>

参数

filePath

string

offset

number

要从哪个位置下载块 Blob。

count

number

要下载的数据量。 传递 undefined 时,将下载到末尾。

options
BlobDownloadOptions

Blob 下载选项的选项。

返回

blob 下载操作的响应数据,但 readableStreamBody 设置为 undefined,因为其内容已读取并写入指定路径的本地文件。

继承自BlobClient.downloadToFile

exists(BlobExistsOptions)

如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。

注意:请谨慎使用此函数,因为其他客户端或应用程序可能会删除现有 Blob。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新 Blob。

function exists(options?: BlobExistsOptions): Promise<boolean>

参数

options
BlobExistsOptions

options to Exists 操作。

返回

Promise<boolean>

继承自BlobClient.exists

generateSasUrl(BlobGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 BlobClient。

根据传入的客户端属性和参数生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateSasUrl(options: BlobGenerateSasUrlOptions): Promise<string>

参数

options
BlobGenerateSasUrlOptions

可选参数。

返回

Promise<string>

SAS URI 由此客户端表示的资源的 URI 组成,后跟生成的 SAS 令牌。

继承自BlobClient.generateSasUrl

getAppendBlobClient()

创建 AppendBlobClient 对象。

function getAppendBlobClient(): AppendBlobClient

返回

继承自BlobClient.getAppendBlobClient

getBlobLeaseClient(string)

获取管理 Blob 上的租约的 BlobLeaseClient

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

参数

proposeLeaseId

string

初始建议租约 ID。

返回

一个新的 BlobLeaseClient 对象,用于管理 Blob 上的租约。

继承自BlobClient.getBlobLeaseClient

getBlockBlobClient()

创建 BlockBlobClient 对象。

function getBlockBlobClient(): BlockBlobClient

返回

继承自BlobClient.getBlockBlobClient

getPageBlobClient()

创建 PageBlobClient 对象。

function getPageBlobClient(): PageBlobClient

返回

继承自BlobClient.getPageBlobClient

getProperties(BlobGetPropertiesOptions)

返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties

警告:响应 metadata 中返回的对象将具有小写的键,即使它们最初包含大写字符也是如此。 这不同于 ContainerClient 方法返回的元数据键,这些方法使用 includeMetadata 选项列出 Blob,该选项将保留其原始大小写。

function getProperties(options?: BlobGetPropertiesOptions): Promise<BlobGetPropertiesResponse>

参数

options
BlobGetPropertiesOptions

用于获取属性操作的可选选项。

返回

继承自BlobClient.getProperties

getTags(BlobGetTagsOptions)

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

function getTags(options?: BlobGetTagsOptions): Promise<BlobGetTagsResponse>

参数

返回

继承自BlobClient.getTags

setAccessTier(string, BlobSetTierOptions)

设置 Blob 上的层。 允许对高级存储帐户中的页 Blob 和 blob 存储帐户中的块 blob 执行该操作, (本地冗余存储仅) 。 高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier

function setAccessTier(tier: string, options?: BlobSetTierOptions): Promise<BlobSetTierResponse>

参数

tier

string

要对 Blob 设置的层。 有效值为热、冷或存档。

options
BlobSetTierOptions

Blob 集层操作的可选选项。

返回

继承自BlobClient.setAccessTier

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

在 blob 上设置系统属性。

如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则将清除这些没有值的 Blob HTTP 标头。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

function setHTTPHeaders(blobHTTPHeaders?: BlobHTTPHeaders, options?: BlobSetHTTPHeadersOptions): Promise<BlobSetHTTPHeadersResponse>

参数

blobHTTPHeaders
BlobHTTPHeaders

如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则将清除这些没有值的 Blob HTTP 标头。 要设置的常见标头是 blobContentType 使浏览器能够基于文件类型提供功能。

options
BlobSetHTTPHeadersOptions

Blob 设置 HTTP 标头操作的可选选项。

返回

继承自BlobClient.setHTTPHeaders

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

在 Blob 上设置不可变策略。

function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions): Promise<BlobSetImmutabilityPolicyResponse>

参数

immutabilityPolicy
BlobImmutabilityPolicy
options
BlobSetImmutabilityPolicyOptions

用于在 Blob 上设置不可变性策略的可选选项。

返回

继承自BlobClient.setImmutabilityPolicy

setLegalHold(boolean, BlobSetLegalHoldOptions)

对 Blob 设置法定保留。

function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions): Promise<BlobSetLegalHoldResponse>

参数

legalHoldEnabled

boolean

options
BlobSetLegalHoldOptions

用于在 Blob 上设置法定保留的可选选项。

返回

继承自BlobClient.setLegalHold

setMetadata(Metadata, BlobSetMetadataOptions)

将特定 blob 的用户定义元数据设置为一个或多个名称/值对。

如果未提供选项,或者参数中未定义任何元数据,则将删除 Blob 元数据。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata

function setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions): Promise<BlobSetMetadataResponse>

参数

metadata
Metadata

将现有元数据替换为此值。 如果未提供任何值,则将删除现有元数据。

options
BlobSetMetadataOptions

“设置元数据”操作的可选选项。

返回

继承自BlobClient.setMetadata

setTags(Tags, BlobSetTagsOptions)

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

function setTags(tags: Tags, options?: BlobSetTagsOptions): Promise<BlobSetTagsResponse>

参数

tags
Tags

返回

继承自BlobClient.setTags

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

同步复制自 URL 操作将 Blob 或 Internet 资源复制到新 Blob。 在复制完成之前,它不会返回响应。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

function syncCopyFromURL(copySource: string, options?: BlobSyncCopyFromURLOptions): Promise<BlobCopyFromURLResponse>

参数

copySource

string

要从中复制的源 URL,身份验证可能需要共享访问签名 (SAS)

返回

继承自BlobClient.syncCopyFromURL

undelete(BlobUndeleteOptions)

还原软删除的 Blob 和任何关联的软删除快照的内容和元数据。 仅在版本 2017-07-29 或更高版本上支持取消删除 Blob。

请参见https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob

function undelete(options?: BlobUndeleteOptions): Promise<BlobUndeleteResponse>

参数

options
BlobUndeleteOptions

Blob 取消删除操作的可选选项。

返回

继承自BlobClient.undelete

withVersion(string)

创建一个新的 BlobClient 对象,该对象指向此 Blob 的某个版本。 提供“”将删除 versionId 并将客户端返回到基本 Blob。

function withVersion(versionId: string): BlobClient

参数

versionId

string

versionId。

返回

一个新的 BlobClient 对象,指向此 Blob 的版本。

继承自BlobClient.withVersion