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

PageBlobClient class

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

扩展

构造函数

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(RequestBodyType, 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,包括其元数据和属性。 还可以调用 Get Blob 来读取快照。

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

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

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

仅在NODE.JS运行时中可用。

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

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

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

仅在NODE.JS运行时中可用。

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

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

downloadToFile(string, number, number, BlobDownloadOptions)

仅在NODE.JS运行时中可用。

将 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

getAccountInfo(BlobGetAccountInfoOptions)

获取帐户信息操作返回指定帐户的 SKU 名称和帐户类型。 从版本 2018-03-28 开始,获取帐户信息操作适用于服务版本。

请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

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(如“https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString"),则可以追加 SAS。 此方法接受指向 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(如“https://myaccount.blob.core.windows.net/mycontainer/pageblob?sasString"),则可以追加 SAS。

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(RequestBodyType, number, number, PageBlobUploadPagesOptions)

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

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

function uploadPages(body: RequestBodyType, 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,包括其元数据和属性。 还可以调用 Get Blob 来读取快照。

  • 在 Node.js中,数据在可读流 readableStreamBody 中返回
  • 在浏览器中,数据在 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运行时中可用。

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

警告:由于 Node.js/V8 的限制,缓冲区只能支持 32 位系统上最多一千兆字节的文件或 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运行时中可用。

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

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

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

参数

offset

number

要下载的块 Blob 的位置(以字节为单位)

count

number

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

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

返回

Promise<Buffer>

继承自BlobClient.downloadToBuffer

downloadToFile(string, number, number, BlobDownloadOptions)

仅在NODE.JS运行时中可用。

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

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

参数

filePath

string

offset

number

要下载的块 Blob 的位置。

count

number

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

options
BlobDownloadOptions

Blob 下载选项。

返回

Blob 下载操作的响应数据,但已将 readableStreamBody 设置为未定义,因为它的内容已读取并写入到指定路径的本地文件中。

继承自BlobClient.downloadToFile

exists(BlobExistsOptions)

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

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

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

参数

options
BlobExistsOptions

“存在”操作的选项。

返回

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>

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

继承自BlobClient.generateSasUrl

getAccountInfo(BlobGetAccountInfoOptions)

获取帐户信息操作返回指定帐户的 SKU 名称和帐户类型。 从版本 2018-03-28 开始,获取帐户信息操作适用于服务版本。

请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

function getAccountInfo(options?: BlobGetAccountInfoOptions): Promise<BlobGetAccountInfoResponse>

参数

options
BlobGetAccountInfoOptions

服务获取帐户信息操作的选项。

返回

服务获取帐户信息操作的响应数据。

继承自BlobClient.getAccountInfo

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