你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
PageBlobClient class
PageBlobClient 定义一组适用于页 Blob 的操作。
- 扩展
构造函数
Page |
创建 PageBlobClient 的实例。 |
Page |
创建 PageBlobClient 的实例。 此方法接受指向 Blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 如果 Blob 名称包含? 或 %,blob 名称必须在 URL 中编码。 |
Page |
创建 PageBlobClient 的实例。 |
属性
container |
Blob 与之关联的存储容器的名称。 |
name | Blob 的名称。 |
继承属性
account |
|
credential | 例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 |
url | 编码的 URL 字符串值。 |
方法
clear |
释放页 Blob 中的指定页。 请参阅 https://docs.microsoft.com/rest/api/storageservices/put-page |
create(number, Page |
创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。 请参阅 https://docs.microsoft.com/rest/api/storageservices/put-blob |
create |
创建指定长度的页 Blob。 调用 uploadPages 将数据上传到页 Blob。 如果已存在同名的 Blob,则现有 Blob 的内容将保持不变。 请参阅 https://docs.microsoft.com/rest/api/storageservices/put-blob |
get |
返回页 Blob 的有效页范围列表或页 Blob 的快照。 请参阅 https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
get |
获取指定快照与此页 Blob 之间不同页面范围的集合。 请参阅 https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
get |
获取与托管磁盘的指定快照和此页 Blob 之间的差异的页面范围的集合。 请参阅 https://docs.microsoft.com/rest/api/storageservices/get-page-ranges |
list |
返回一个异步可迭代迭代器,以列出页 Blob 的页面范围。 请参阅 https://docs.microsoft.com/rest/api/storageservices/get-page-ranges .byPage() 将异步可迭代迭代器返回到页 Blob 的页面范围列表。 使用
使用
使用
对标记使用分页的示例:
|
list |
返回一个异步可迭代迭代器,用于列出在指定快照与此页面 Blob 之间不同的页面范围。 请参阅 https://docs.microsoft.com/rest/api/storageservices/get-page-ranges .byPage() 返回一个异步可迭代器,用于列出在指定快照和此页面 Blob 之间有所不同的页面范围。 使用
使用
使用
对标记使用分页的示例:
|
resize(number, Page |
将页 Blob 的大小调整为指定大小(必须是 512 的倍数)。 请参阅 https://docs.microsoft.com/rest/api/storageservices/set-blob-properties |
start |
开始一个操作,以便从一页 Blob 的快照到此页 Blob 启动增量复制。 复制快照,以便仅将以前复制的快照之间的差异更改传输到目标。 复制的快照是原始快照的完整副本,可以像往常一样读取或复制。 请参阅 https://docs.microsoft.com/rest/api/storageservices/incremental-copy-blob 请参阅 https://docs.microsoft.com/en-us/azure/virtual-machines/windows/incremental-snapshots |
update |
设置页 Blob 的序列号。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties |
upload |
将 1 个或更多页写入页 Blob。 开始和结束偏移必须是 512 的倍数。 请参阅 https://docs.microsoft.com/rest/api/storageservices/put-page |
upload |
“上传页”操作将一系列页面写入页 Blob,其中从 URL 读取内容。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url |
with |
创建与源相同的新 PageBlobClient 对象,但具有指定的快照时间戳。 提供“”将删除快照并将客户端返回到基本 Blob。 |
继承的方法
abort |
中止挂起的异步复制 Blob 操作,并将目标 Blob 保留长度为零和完整元数据。 版本 2012-02-12 及更新。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob |
begin |
将 Blob 异步复制到存储帐户中的目标。
此方法返回一个长时间运行的操作轮询器,该轮询程序允许无限期等待,直到复制完成。
还可以通过在投票器上调用 在版本 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 使用自动轮询的示例:
使用手动轮询的示例:
使用进度更新的示例:
使用更改轮询间隔的示例(默认为 15 秒):
使用复制取消的示例:
|
create |
创建 Blob 的只读快照。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob |
delete(Blob |
标记要删除的指定 Blob 或快照。 稍后在垃圾回收期间删除该 Blob。 请注意,若要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除两者。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob |
delete |
标记指定的 blob 或快照以将其删除(如果存在)。 稍后在垃圾回收期间删除该 Blob。 请注意,若要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除两者。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob |
delete |
删除 Blob 上的不可变性策略。 |
download(number, number, Blob |
从系统读取或下载 blob,包括其元数据和属性。 还可以调用 Get Blob 来读取快照。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob |
download |
仅在NODE.JS运行时中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。 警告:由于 Node.js/V8 的限制,缓冲区只能支持 32 位系统上最多一千兆字节的文件或 64 位系统上的大约 2 GB 文件。 对于大于此大小的 blob,请考虑 downloadToFile。 |
download |
仅在NODE.JS运行时中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。 警告:由于 Node.js/V8 的限制,缓冲区只能支持 32 位系统上最多一千兆字节的文件或 64 位系统上的大约 2 GB 文件。 对于大于此大小的 blob,请考虑 downloadToFile。 |
download |
仅在NODE.JS运行时中可用。 将 Azure Blob 下载到本地文件。 如果给定的文件路径已退出,则失败。 偏移量和计数是可选的,分别传递 0 和未定义以下载整个 Blob。 |
exists(Blob |
如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。 注意:请谨慎使用此函数,因为现有 Blob 可能被其他客户端或应用程序删除。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新的 Blob。 |
generate |
仅适用于使用共享密钥凭据构造的 BlobClient。 基于传入的客户端属性和参数生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas |
get |
获取帐户信息操作返回指定帐户的 SKU 名称和帐户类型。 从版本 2018-03-28 开始,获取帐户信息操作适用于服务版本。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information |
get |
创建 AppendBlobClient 对象。 |
get |
获取管理 blob 上的租约的 BlobLeaseClient。 |
get |
创建 BlockBlobClient 对象。 |
get |
创建 PageBlobClient 对象。 |
get |
返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-properties 警告:响应中返回的 |
get |
获取与基础 Blob 关联的标记。 |
set |
设置 Blob 上的层。 该操作允许在高级存储帐户中的页 Blob 和 Blob 存储帐户中的块 Blob 上(仅限本地冗余存储)。 高级页 Blob 层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier |
set |
设置 Blob 上的系统属性。 如果未提供任何值,或者未为指定的 Blob HTTP 标头提供任何值,则清除不带值的这些 blob HTTP 标头。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties |
set |
在 Blob 上设置不可变性策略。 |
set |
设置 Blob 的法律保留。 |
set |
将指定 Blob 的用户定义元数据设置为一个或多个名称值对。 如果未提供任何选项,或者参数中未定义任何元数据,将删除 blob 元数据。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata |
set |
设置基础 Blob 上的标记。 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、数字(0-9)、空格(')、加('+')、减号('-')、句点('.')、正斜杠('/')、冒号(':')、等号('=')和下划线('_')。 |
sync |
同步的“从 URL 复制”操作将 Blob 或 Internet 资源复制到新的 Blob。 在复制完成之前,它不会返回响应。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url |
undelete(Blob |
还原软删除 Blob 的内容和元数据以及任何关联的软删除快照。 仅在版本 2017-07-29 或更高版本上支持取消删除 Blob。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob |
with |
创建一个新的 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
继承自
credential
例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 @azure/identity
包的凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
属性值
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 清除页操作的选项。
返回
Promise<PageBlobClearPagesResponse>
页 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 创建操作的选项。
返回
Promise<PageBlobCreateResponse>
页 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 的大小。
- options
- PageBlobCreateIfNotExistsOptions
返回
Promise<PageBlobCreateIfNotExistsResponse>
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 获取范围操作的选项。
返回
Promise<PageBlobGetPageRangesResponse>
页 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 获取页范围差异操作的选项。
返回
Promise<PageBlobGetPageRangesDiffResponse>
页 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 获取页范围差异操作的选项。
返回
Promise<PageBlobGetPageRangesDiffResponse>
页 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
用于检索差异的快照时间戳。
页 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 调整大小操作的选项。
返回
Promise<PageBlobResizeResponse>
页 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=
页 Blob 复制增量操作的选项。
返回
Promise<PageBlobCopyIncrementalResponse>
页 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,则为必需
页 Blob 更新序列号操作的选项。
返回
Promise<PageBlobUpdateSequenceNumberResponse>
页 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 上传页操作的选项。
返回
Promise<PageBlobUploadPagesResponse>
页 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 上传的字节数
返回
Promise<PageBlobUploadPagesFromURLResponse>
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 操作的可选选项。
返回
Promise<BlobAbortCopyFromURLResponse>
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 开始复制”操作的可选选项。
返回
createSnapshot(BlobCreateSnapshotOptions)
创建 Blob 的只读快照。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob
function createSnapshot(options?: BlobCreateSnapshotOptions): Promise<BlobCreateSnapshotResponse>
参数
- options
- BlobCreateSnapshotOptions
Blob 创建快照操作的可选选项。
返回
Promise<BlobCreateSnapshotResponse>
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 删除操作的可选选项。
返回
Promise<BlobDeleteResponse>
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 删除操作的可选选项。
返回
Promise<BlobDeleteIfExistsResponse>
继承自
deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)
删除 Blob 上的不可变性策略。
function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions): Promise<BlobDeleteImmutabilityPolicyResponse>
参数
用于删除 Blob 上不可变策略的可选选项。
返回
Promise<BlobDeleteImmutabilityPolicyResponse>
继承自
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);
});
}
返回
Promise<BlobDownloadResponseParsed>
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>
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>
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 下载选项。
返回
Promise<BlobDownloadResponseParsed>
Blob 下载操作的响应数据,但已将 readableStreamBody 设置为未定义,因为它的内容已读取并写入到指定路径的本地文件中。
exists(BlobExistsOptions)
如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。
注意:请谨慎使用此函数,因为现有 Blob 可能被其他客户端或应用程序删除。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新的 Blob。
function exists(options?: BlobExistsOptions): Promise<boolean>
参数
- options
- BlobExistsOptions
“存在”操作的选项。
返回
Promise<boolean>
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 令牌。
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
服务获取帐户信息操作的选项。
返回
Promise<BlobGetAccountInfoResponse>
服务获取帐户信息操作的响应数据。
getAppendBlobClient()
创建 AppendBlobClient 对象。
function getAppendBlobClient(): AppendBlobClient
返回
getBlobLeaseClient(string)
获取管理 blob 上的租约的 BlobLeaseClient。
function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient
参数
- proposeLeaseId
-
string
初始建议的租约 ID。
返回
一个新的 BlobLeaseClient 对象,用于管理 Blob 上的租约。
getBlockBlobClient()
创建 BlockBlobClient 对象。
function getBlockBlobClient(): BlockBlobClient
返回
继承自
getPageBlobClient()
创建 PageBlobClient 对象。
function getPageBlobClient(): PageBlobClient
返回
继承自
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
获取属性操作的可选选项。
返回
Promise<BlobGetPropertiesResponse>
getTags(BlobGetTagsOptions)
获取与基础 Blob 关联的标记。
function getTags(options?: BlobGetTagsOptions): Promise<BlobGetTagsResponse>
参数
- options
- BlobGetTagsOptions
返回
Promise<BlobGetTagsResponse>
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 设置层操作的可选选项。
返回
Promise<BlobSetTierResponse>
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 标头操作的可选选项。
返回
Promise<BlobSetHTTPHeadersResponse>
setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)
在 Blob 上设置不可变性策略。
function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions): Promise<BlobSetImmutabilityPolicyResponse>
参数
- immutabilityPolicy
- BlobImmutabilityPolicy
- options
- BlobSetImmutabilityPolicyOptions
用于在 Blob 上设置不可变策略的可选选项。
返回
Promise<BlobSetImmutabilityPolicyResponse>
setLegalHold(boolean, BlobSetLegalHoldOptions)
设置 Blob 的法律保留。
function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions): Promise<BlobSetLegalHoldResponse>
参数
- legalHoldEnabled
-
boolean
- options
- BlobSetLegalHoldOptions
用于设置 Blob 法定保留的可选选项。
返回
Promise<BlobSetLegalHoldResponse>
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
用于设置元数据操作的可选选项。
返回
Promise<BlobSetMetadataResponse>
setTags(Tags, BlobSetTagsOptions)
设置基础 Blob 上的标记。 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、数字(0-9)、空格(')、加('+')、减号('-')、句点('.')、正斜杠('/')、冒号(':')、等号('=')和下划线('_')。
function setTags(tags: Tags, options?: BlobSetTagsOptions): Promise<BlobSetTagsResponse>
参数
- tags
- Tags
- options
- BlobSetTagsOptions
返回
Promise<BlobSetTagsResponse>
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)可能需要进行身份验证
- options
- BlobSyncCopyFromURLOptions
返回
Promise<BlobCopyFromURLResponse>
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 取消删除操作的可选选项。
返回
Promise<BlobUndeleteResponse>
withVersion(string)
创建一个新的 BlobClient 对象,该对象指向此 Blob 的版本。 提供“”将删除 versionId 并将客户端返回到基本 Blob。
function withVersion(versionId: string): BlobClient
参数
- versionId
-
string
versionId。
返回
一个新的 BlobClient 对象,指向此 Blob 的版本。