你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
BlockBlobClient class
BlockBlobClient 定义了一组适用于块 Blob 的操作。
- Extends
构造函数
Block |
创建 BlockBlobClient 的实例。 此方法接受指向块 Blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。 |
Block |
创建 BlockBlobClient 的实例。 此方法接受指向块 Blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。 |
Block |
创建 BlockBlobClient 的实例。 |
属性
account |
|
container |
与 Blob 关联的存储容器的名称。 |
credential | 例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 |
name | Blob 的名称。 |
url | 编码的 URL 字符串值。 |
方法
abort |
中止挂起的异步复制 Blob 操作,并将目标 Blob 保留为零长度和完整元数据。 版本 2012-02-12 及更新。 |
begin |
将 Blob 异步复制到存储帐户中的目标。
此方法返回一个长时间运行的操作轮询程序,允许无限期地等待复制完成。
还可以通过在轮询器上调用 |
commit |
通过指定组成 Blob 的块 ID 列表编写 Blob。 要写为 Blob 的一部分,块必须在<xref:stageBlock>操作之前已成功写入服务器。 可以调用<xref:commitBlockList>来更新 Blob,这样将仅上载已更改的块,然后一起提交新块和现有块。 未在阻止列表中指定并永久删除的任何块。 |
create |
创建 Blob 的只读快照。 |
delete(Blob |
标记要删除的指定 Blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。 |
delete |
将指定的 Blob 或快照标记为删除(如果存在)。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。 |
delete |
删除 Blob 上的不规则策略。 |
download(number, number, Blob |
从系统读取或下载 Blob,包括其元数据和属性。 还可以调用获取 Blob 来读取快照。
|
download |
仅在 NODE.JS RUNTIME 中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。 警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 <xref:downloadToFile>。 |
download |
仅在 NODE.JS RUNTIME 中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。 警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 <xref:downloadToFile>。 |
download |
仅在 NODE.JS RUNTIME 中可用。 将 Azure Blob 下载到本地文件。 如果给定的文件路径已退出,则失败。 偏移量和计数是可选的,分别传递 0 和未定义以下载整个 Blob。 |
exists(Blob |
如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。 注意:请谨慎使用此函数,因为其他客户端或应用程序可能会删除现有 Blob。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新 Blob。 |
generate |
仅适用于使用共享密钥凭据构造的 BlobClient。 根据传入的客户端属性和参数生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。 |
get |
创建 AppendBlobClient 对象。 |
get |
获取管理 <xref:BlobLeaseClient> Blob 上的租约的 。 |
get |
创建 BlockBlobClient 对象。 |
get |
使用指定的阻止列表筛选器返回已作为块 Blob 的一部分上传的块列表。 |
get |
创建 PageBlobClient 对象。 |
get |
返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。 |
get |
获取与基础 Blob 关联的标记。 |
query(string, Block |
仅在 NODE.JS RUNTIME 中可用。 JSON 或 CSV 格式 Blob 的快速查询。 示例用法 (Node.js) :
|
set |
设置 Blob 上的层。 允许对高级存储帐户中的页 Blob 和 blob 存储帐户中的块 blob 执行该操作, (本地冗余存储仅) 。 高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。 |
set |
在 blob 上设置系统属性。 如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则会清除这些没有值的 Blob HTTP 标头。 |
set |
在 Blob 上设置不可变策略。 |
set |
对 Blob 设置法定保留。 |
set |
将特定 blob 的用户定义元数据设置为一个或多个名称/值对。 如果未提供任何选项,或者参数中未定义任何元数据,则将删除 Blob 元数据。 |
set |
设置基础 Blob 上的标记。 一个 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、 (0-9) 、空格 (“) ”,以及 (“+”) ,减去 (“-”) ,句点 (”。) ,正斜杠 ('/') ,冒号 (':') ,等于 ('=') ,并下划线 ('_') 。 |
stage |
将指定的块上传到块 Blob 的“暂存区域”,以便稍后通过调用 commitBlockList 提交。 |
stage |
阶段阻止从 URL 操作创建一个新块,作为 Blob 的一部分提交,其中内容从 URL 读取。 此 API 从版本 2018-03-28 开始可用。 |
sync |
同步复制自 URL 操作将 Blob 或 Internet 资源复制到新 Blob。 在复制完成之前,它不会返回响应。 |
sync |
创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。 从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请使用 <xref:stageBlockFromURL> 和 <xref:commitBlockList>。 |
undelete(Blob |
还原软删除的 Blob 以及任何关联的软删除快照的内容和元数据。 仅版本 2017-07-29 或更高版本支持取消删除 Blob。 |
upload(Http |
创建新的块 Blob,或更新现有块 Blob 的内容。 更新现有块 Blob 会覆盖该 Blob 的所有现有元数据。 不支持部分更新;现有 Blob 的内容将被新内容覆盖。 若要执行块 Blob 的部分更新,请使用 <xref:stageBlock> 和 <xref:commitBlockList>。 这是一种非并行上传方法,请使用 <xref:uploadFile>, <xref:uploadStream> 或者 <xref:uploadBrowserData> 为了提高并发上传的性能。 |
upload |
仅在浏览器中可用。 将浏览器 Blob/文件/ArrayBuffer/ArrayBufferView 对象上传到块 blob。 当缓冲区长度小于或等于 256MB 时,此方法将使用 1 个上传调用来完成上传。 否则,此方法将调用 <xref:stageBlock> 以上传块,最后调用 <xref:commitBlockList> 以提交块列表。 要设置的常见 <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> 选项是 |
upload |
将 /ArrayBuffer/ArrayBufferView 对象) /Blob (浏览器) 的 Buffer (Node.js 上传到 BlockBlob。 当数据长度不超过指定的 <xref:BlockBlobParallelUploadOptions.maxSingleShotSize> (默认值为 <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>) 时,此方法将使用 1 <xref:upload> 调用来完成上传。 否则,此方法将调用 <xref:stageBlock> 以上传块,最后调用 <xref:commitBlockList> 以提交块列表。 要设置的常见 <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> 选项是 |
upload |
仅在 NODE.JS RUNTIME 中可用。 将块中的本地文件上传到块 Blob。 当文件大小小于或等于 256MB 时,此方法将使用 1 个上传调用来完成上传。 否则,此方法将调用 stageBlock 来上传块,最后调用 commitBlockList 来提交块列表。 |
upload |
仅在 NODE.JS RUNTIME 中可用。 将Node.js可读流上传到块 Blob 中。 性能改进提示:
|
with |
创建与源相同但具有指定快照时间戳的新 BlockBlobClient 对象。 提供“”将删除快照,并将 URL 返回到基本 Blob。 |
with |
创建一个新的 BlobClient 对象,该对象指向此 Blob 的某个版本。 提供“”将删除 versionId 并将客户端返回到基本 Blob。 |
构造函数详细信息
BlockBlobClient(string, PipelineLike)
创建 BlockBlobClient 的实例。 此方法接受指向块 Blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。
new BlockBlobClient(url: string, pipeline: PipelineLike)
参数
- url
-
string
指向 Azure 存储块 blob 的 URL 字符串,例如“https://myaccount.blob.core.windows.net/mycontainer/blockblob"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net/mycontainer/blockblob?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 () 以创建默认管道或提供自定义管道。
BlockBlobClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
创建 BlockBlobClient 的实例。 此方法接受指向块 Blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 Blob 名称是否包含 ? 或 % blob 名称必须在 URL 中编码。
new BlockBlobClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
参数
- url
-
string
指向 Azure 存储块 blob 的 URL 字符串,例如“https://myaccount.blob.core.windows.net/mycontainer/blockblob"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net/mycontainer/blockblob?sasString"”。 此方法接受指向 blob 的编码 URL 或非编码 URL。 编码的 URL 字符串不会转义两次,只会转义 URL 路径中的特殊字符。 但是,如果 Blob 名称包含 ? 或 % blob 名称必须在 URL 中编码。 例如名为“my?blob%”的 Blob,URL 应为“https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25"”。
- credential
-
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity
凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
- options
- StoragePipelineOptions
可选。 用于配置 HTTP 管道的选项。
BlockBlobClient(string, string, string, StoragePipelineOptions)
创建 BlockBlobClient 的实例。
new BlockBlobClient(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 管道的选项。
属性详细信息
accountName
accountName: string
属性值
string
containerName
与 Blob 关联的存储容器的名称。
string containerName
属性值
string
credential
例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity
凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
属性值
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
name
Blob 的名称。
string name
属性值
string
url
编码的 URL 字符串值。
url: string
属性值
string
方法详细信息
abortCopyFromURL(string, BlobAbortCopyFromURLOptions)
中止挂起的异步复制 Blob 操作,并将目标 Blob 保留为零长度和完整元数据。 版本 2012-02-12 及更新。
function abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions)
参数
- 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 复制操作从其他存储帐户中进行复制。
function beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions)
参数
- copySource
-
string
指向源 Azure Blob/文件的 url。
- options
- BlobBeginCopyFromURLOptions
Blob“从 URL 开始复制”操作的可选选项。
返回
Promise<PollerLike<PollOperationState<BlobBeginCopyFromURLResponse>, BlobBeginCopyFromURLResponse>>
commitBlockList(string[], BlockBlobCommitBlockListOptions)
通过指定组成 Blob 的块 ID 列表编写 Blob。 要写为 Blob 的一部分,块必须在<xref:stageBlock>操作之前已成功写入服务器。 可以调用<xref:commitBlockList>来更新 Blob,这样将仅上载已更改的块,然后一起提交新块和现有块。 未在阻止列表中指定并永久删除的任何块。
function commitBlockList(blocks: string[], options?: BlockBlobCommitBlockListOptions)
参数
- blocks
-
string[]
base64 编码的 64 字节值的数组
- options
- BlockBlobCommitBlockListOptions
块 Blob 提交块列表操作的选项。
返回
Promise<BlockBlobCommitBlockListResponse>
块 Blob 提交块列表操作的响应数据。
createSnapshot(BlobCreateSnapshotOptions)
创建 Blob 的只读快照。
function createSnapshot(options?: BlobCreateSnapshotOptions)
参数
- options
- BlobCreateSnapshotOptions
Blob 创建快照操作的可选选项。
返回
Promise<BlobCreateSnapshotResponse>
delete(BlobDeleteOptions)
标记要删除的指定 Blob 或快照。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。
function delete(options?: BlobDeleteOptions)
参数
- options
- BlobDeleteOptions
Blob 删除操作的可选选项。
返回
Promise<BlobDeleteResponse>
deleteIfExists(BlobDeleteOptions)
将指定的 Blob 或快照标记为删除(如果存在)。 该 Blob 将在稍后的垃圾回收期间删除。 请注意,要删除 Blob,必须删除其所有快照。 可以使用“删除 Blob”操作同时删除这两者。
function deleteIfExists(options?: BlobDeleteOptions)
参数
- options
- BlobDeleteOptions
Blob 删除操作的可选选项。
返回
Promise<BlobDeleteIfExistsResponse>
deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)
删除 Blob 上的不规则策略。
function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions)
参数
用于在 Blob 上删除不可变性策略的可选选项。
返回
Promise<BlobDeleteImmutabilityPolicyResponse>
download(number, number, BlobDownloadOptions)
从系统读取或下载 Blob,包括其元数据和属性。 还可以调用获取 Blob 来读取快照。
- 在 Node.js 中,数据在可读流 readableStreamBody 中返回
- 在浏览器中,数据在 promise blobBody 中返回
function download(offset?: number, count?: number, options?: BlobDownloadOptions)
参数
- 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 RUNTIME 中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。
警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 <xref:downloadToFile>。
function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: BlobDownloadToBufferOptions)
参数
- buffer
-
Buffer
要填充的缓冲区,长度必须大于计数
- offset
-
number
要从块 blob 的哪个位置下载 ((以字节为单位))
- count
-
number
下载) (的数据量(以字节为单位)。 传递 undefined 时将下载到末尾
- options
- BlobDownloadToBufferOptions
BlobDownloadToBufferOptions
返回
Promise<Buffer>
downloadToBuffer(number, number, BlobDownloadToBufferOptions)
仅在 NODE.JS RUNTIME 中可用。 将 Azure Blob 并行下载到缓冲区。 偏移量和计数是可选的,如果未提供,则下载整个 Blob。
警告:由于Node.js/V8 的限制,缓冲区在 32 位系统上最多只能支持大约 1 GB 的文件,在 64 位系统上只能支持大约 2 GB 的文件。 对于大于此大小的 Blob,请考虑 <xref:downloadToFile>。
function downloadToBuffer(offset?: number, count?: number, options?: BlobDownloadToBufferOptions)
参数
- offset
-
number
要从块 blob 的哪个位置下载 ((以字节为单位))
- count
-
number
下载) (的数据量(以字节为单位)。 传递 undefined 时将下载到末尾
- options
- BlobDownloadToBufferOptions
BlobDownloadToBufferOptions
返回
Promise<Buffer>
downloadToFile(string, number, number, BlobDownloadOptions)
仅在 NODE.JS RUNTIME 中可用。 将 Azure Blob 下载到本地文件。 如果给定的文件路径已退出,则失败。 偏移量和计数是可选的,分别传递 0 和未定义以下载整个 Blob。
function downloadToFile(filePath: string, offset?: number, count?: number, options?: BlobDownloadOptions)
参数
- filePath
-
string
- offset
-
number
要从哪个位置下载块 Blob。
- count
-
number
要下载的数据量。 传递 undefined 时,将下载到末尾。
- options
- BlobDownloadOptions
Blob 下载选项的选项。
返回
Promise<BlobDownloadResponseParsed>
blob 下载操作的响应数据,但 readableStreamBody 设置为 undefined,因为其内容已读取并写入指定路径的本地文件。
exists(BlobExistsOptions)
如果此客户端表示的 Azure Blob 资源存在,则返回 true;否则为 false。 注意:请谨慎使用此函数,因为其他客户端或应用程序可能会删除现有 Blob。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新 Blob。
function exists(options?: BlobExistsOptions)
参数
- options
- BlobExistsOptions
options to Exists 操作。
返回
Promise<boolean>
generateSasUrl(BlobGenerateSasUrlOptions)
仅适用于使用共享密钥凭据构造的 BlobClient。 根据传入的客户端属性和参数生成 Blob 服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。
function generateSasUrl(options: BlobGenerateSasUrlOptions)
参数
- options
- BlobGenerateSasUrlOptions
可选参数。
返回
Promise<string>
SAS URI 由此客户端表示的资源的 URI 组成,后跟生成的 SAS 令牌。
getAppendBlobClient()
getBlobLeaseClient(string)
获取管理 <xref:BlobLeaseClient> Blob 上的租约的 。
function getBlobLeaseClient(proposeLeaseId?: string)
参数
- proposeLeaseId
-
string
初始建议租约 ID。
返回
一个新的 BlobLeaseClient 对象,用于管理 Blob 上的租约。
getBlockBlobClient()
getBlockList(BlockListType, BlockBlobGetBlockListOptions)
使用指定的阻止列表筛选器返回已作为块 Blob 的一部分上传的块列表。
function getBlockList(listType: BlockListType, options?: BlockBlobGetBlockListOptions)
参数
- listType
- BlockListType
指定是返回已提交的块列表,返回未提交的块列表,还是同时返回这两个列表。
- options
- BlockBlobGetBlockListOptions
用于“块 Blob 获取块列表”操作的选项。
返回
Promise<BlockBlobGetBlockListResponse>
块 Blob 获取块列表操作的响应数据。
getPageBlobClient()
getProperties(BlobGetPropertiesOptions)
返回 Blob 的所有用户定义的元数据、标准 HTTP 属性和系统属性。 它不返回 Blob 的内容。
function getProperties(options?: BlobGetPropertiesOptions)
参数
- options
- BlobGetPropertiesOptions
用于获取属性操作的可选选项。
返回
Promise<BlobGetPropertiesResponse>
getTags(BlobGetTagsOptions)
获取与基础 Blob 关联的标记。
function getTags(options?: BlobGetTagsOptions)
参数
- options
- BlobGetTagsOptions
返回
Promise<BlobGetTagsResponse>
query(string, BlockBlobQueryOptions)
仅在 NODE.JS RUNTIME 中可用。 JSON 或 CSV 格式 Blob 的快速查询。
示例用法 (Node.js) :
// Query and convert a blob to a string
const queryBlockBlobResponse = await blockBlobClient.query("select * from BlobStorage");
const downloaded = (await streamToBuffer(queryBlockBlobResponse.readableStreamBody)).toString();
console.log("Query blob content:", downloaded);
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);
});
}
function query(query: string, options?: BlockBlobQueryOptions)
参数
- query
-
string
- options
- BlockBlobQueryOptions
返回
Promise<BlobDownloadResponseModel>
setAccessTier(BlockBlobTier | PremiumPageBlobTier | string, BlobSetTierOptions)
设置 Blob 上的层。 允许对高级存储帐户中的页 Blob 和 blob 存储帐户中的块 blob 执行该操作, (本地冗余存储仅) 。 高级页 Blob 的层确定 Blob 允许的大小、IOPS 和带宽。 块 Blob 的层确定热/冷/存档存储类型。 此操作不会更新 Blob 的 ETag。
function setAccessTier(tier: BlockBlobTier | PremiumPageBlobTier | string, options?: BlobSetTierOptions)
参数
- tier
-
BlockBlobTier | PremiumPageBlobTier | string
要对 Blob 设置的层。 有效值为热、冷或存档。
- options
- BlobSetTierOptions
Blob 集层操作的可选选项。
返回
Promise<BlobSetTierResponse>
setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)
在 blob 上设置系统属性。 如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则会清除这些没有值的 Blob HTTP 标头。
function setHTTPHeaders(blobHTTPHeaders?: BlobHTTPHeaders, options?: BlobSetHTTPHeadersOptions)
参数
- blobHTTPHeaders
- BlobHTTPHeaders
如果未提供任何值,或者没有为指定的 Blob HTTP 标头提供值,则会清除这些没有值的 Blob HTTP 标头。
要设置的常见标头是 blobContentType
使浏览器能够基于文件类型提供功能。
- options
- BlobSetHTTPHeadersOptions
Blob 设置 HTTP 标头操作的可选选项。
返回
Promise<BlobSetHTTPHeadersResponse>
setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)
在 Blob 上设置不可变策略。
function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions)
参数
- immutabilityPolicy
- BlobImmutabilityPolicy
- options
- BlobSetImmutabilityPolicyOptions
用于在 Blob 上设置不可变性策略的可选选项。
返回
Promise<BlobSetImmutabilityPolicyResponse>
setLegalHold(boolean, BlobSetLegalHoldOptions)
对 Blob 设置法定保留。
function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions)
参数
- legalHoldEnabled
-
boolean
- options
- BlobSetLegalHoldOptions
用于在 Blob 上设置法定保留的可选选项。
返回
Promise<BlobSetLegalHoldResponse>
setMetadata(Metadata, BlobSetMetadataOptions)
将特定 blob 的用户定义元数据设置为一个或多个名称/值对。 如果未提供任何选项,或者参数中未定义任何元数据,则将删除 Blob 元数据。
function setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions)
参数
- metadata
- Metadata
将现有元数据替换为此值。 如果未提供任何值,则将删除现有元数据。
- options
- BlobSetMetadataOptions
“设置元数据”操作的可选选项。
返回
Promise<BlobSetMetadataResponse>
setTags(Tags, BlobSetTagsOptions)
设置基础 Blob 上的标记。 一个 Blob 最多可以有 10 个标记。 标记键必须介于 1 到 128 个字符之间。 标记值必须介于 0 到 256 个字符之间。 有效的标记键和值字符包括小写字母和大写字母、 (0-9) 、空格 (“) ”,以及 (“+”) ,减去 (“-”) ,句点 (”。) ,正斜杠 ('/') ,冒号 (':') ,等于 ('=') ,并下划线 ('_') 。
function setTags(tags: Tags, options?: BlobSetTagsOptions)
参数
- tags
- Tags
- options
- BlobSetTagsOptions
返回
Promise<BlobSetTagsResponse>
stageBlock(string, HttpRequestBody, number, BlockBlobStageBlockOptions)
将指定的块上传到块 Blob 的“暂存区域”,以便稍后通过调用 commitBlockList 提交。
function stageBlock(blockId: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobStageBlockOptions)
参数
- blockId
-
string
base64 编码的 64 字节值
- body
-
HttpRequestBody
要上传到暂存区域的数据。
- contentLength
-
number
要上传的字节数。
- options
- BlockBlobStageBlockOptions
块 Blob 阶段块操作的选项。
返回
Promise<BlockBlobStageBlockResponse>
块 Blob 阶段块操作的响应数据。
stageBlockFromURL(string, string, number, number, BlockBlobStageBlockFromURLOptions)
阶段阻止从 URL 操作创建一个新块,作为 Blob 的一部分提交,其中内容从 URL 读取。 此 API 从版本 2018-03-28 开始可用。
function stageBlockFromURL(blockId: string, sourceURL: string, offset?: number, count?: number, options?: BlockBlobStageBlockFromURLOptions)
参数
- blockId
-
string
base64 编码的 64 字节值
- sourceURL
-
string
指定 Blob 的 URL。 该值可以是长度最多 2 KB 的 URL,用于指定 blob。 此值应为 URL 编码,如同它显示在请求 URI 中那样。 源 Blob 必须是公共的,或者必须通过共享访问签名进行身份验证。 如果源 Blob 是公共的,则无需进行身份验证即可执行该操作。 下面是源对象 URL 的一些示例: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
- offset
-
number
要从哪个位置下载 Blob,大于或等于 0
- count
-
number
要下载的数据量,大于 0。 未定义时将下载到末尾
块 Blob 阶段阻止来自 URL 操作的选项。
返回
Promise<BlockBlobStageBlockFromURLResponse>
块 Blob 阶段阻止来自 URL 操作的响应数据。
syncCopyFromURL(string, BlobSyncCopyFromURLOptions)
同步复制自 URL 操作将 Blob 或 Internet 资源复制到新 Blob。 在复制完成之前,它不会返回响应。
function syncCopyFromURL(copySource: string, options?: BlobSyncCopyFromURLOptions)
参数
- copySource
-
string
要从中复制的源 URL、共享访问签名 (SAS) 身份验证可能需要
- options
- BlobSyncCopyFromURLOptions
返回
Promise<BlobCopyFromURLResponse>
syncUploadFromURL(string, BlockBlobSyncUploadFromURLOptions)
创建一个新的块 Blob,其中 Blob 的内容是从给定 URL 读取的。 从 2020-04-08 版本开始支持此 API。 从 URL 中放置 Blob 不支持部分更新;现有 Blob 的内容被新 Blob 的内容覆盖。 若要使用源 URL 对块 Blob 的内容执行部分更新,请使用 <xref:stageBlockFromURL> 和 <xref:commitBlockList>。
function syncUploadFromURL(sourceURL: string, options?: BlockBlobSyncUploadFromURLOptions)
参数
- sourceURL
-
string
指定 Blob 的 URL。 该值可以是长度最多 2 KB 的 URL,用于指定 blob。 此值应为 URL 编码,如同它显示在请求 URI 中那样。 源 Blob 必须是公共的,或者必须通过共享访问签名进行身份验证。 如果源 Blob 是公共的,则无需进行身份验证即可执行该操作。 下面是源对象 URL 的一些示例: - https://myaccount.blob.core.windows.net/mycontainer/myblob - https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=
可选参数。
返回
Promise<BlockBlobPutBlobFromUrlResponse>
undelete(BlobUndeleteOptions)
还原软删除的 Blob 以及任何关联的软删除快照的内容和元数据。 仅版本 2017-07-29 或更高版本支持取消删除 Blob。
function undelete(options?: BlobUndeleteOptions)
参数
- options
- BlobUndeleteOptions
Blob 取消删除操作的可选选项。
返回
Promise<BlobUndeleteResponse>
upload(HttpRequestBody, number, BlockBlobUploadOptions)
创建新的块 Blob,或更新现有块 Blob 的内容。 更新现有块 Blob 会覆盖该 Blob 的所有现有元数据。 不支持部分更新;现有 Blob 的内容将被新内容覆盖。 若要执行块 Blob 的部分更新,请使用 <xref:stageBlock> 和 <xref:commitBlockList>。 这是一种非并行上传方法,请使用 <xref:uploadFile>, <xref:uploadStream> 或者 <xref:uploadBrowserData> 为了提高并发上传的性能。
function upload(body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
参数
- body
-
HttpRequestBody
Blob、字符串、ArrayBuffer、ArrayBufferView 或函数,该函数返回新的可读流,其偏移量从数据源开始。
- contentLength
-
number
正文的长度(以字节为单位)。 使用 Buffer.byteLength () 计算字符串的正文长度,包括非 Base64/Hex 编码字符。
- options
- BlockBlobUploadOptions
块 Blob 上传操作的选项。
返回
Promise<BlockBlobUploadResponse>
块 Blob 上传操作的响应数据。
用法示例:
const content = "Hello world!";
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
uploadBrowserData(Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)
警告
现已弃用此 API。
Use <xref:uploadData> instead.
仅在浏览器中可用。 将浏览器 Blob/文件/ArrayBuffer/ArrayBufferView 对象上传到块 blob。
当缓冲区长度小于或等于 256MB 时,此方法将使用 1 个上传调用来完成上传。 否则,此方法将调用 <xref:stageBlock> 以上传块,最后调用 <xref:commitBlockList> 以提交块列表。
要设置的常见 <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> 选项是 blobContentType
,使浏览器能够基于文件类型提供功能。
function uploadBrowserData(browserData: Blob | ArrayBuffer | ArrayBufferView, options?: BlockBlobParallelUploadOptions)
参数
- browserData
-
Blob | ArrayBuffer | ArrayBufferView
Blob、文件、ArrayBuffer 或 ArrayBufferView
- options
- BlockBlobParallelUploadOptions
用于上传浏览器数据的选项。
返回
Promise<BlobUploadCommonResponse>
Blob 上传操作的响应数据。
uploadData(Buffer | Blob | ArrayBuffer | ArrayBufferView, BlockBlobParallelUploadOptions)
将 /ArrayBuffer/ArrayBufferView 对象) /Blob (浏览器) 的 Buffer (Node.js 上传到 BlockBlob。 当数据长度不超过指定的 <xref:BlockBlobParallelUploadOptions.maxSingleShotSize> (默认值为 <xref:BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES>) 时,此方法将使用 1 <xref:upload> 调用来完成上传。 否则,此方法将调用 <xref:stageBlock> 以上传块,最后调用 <xref:commitBlockList> 以提交块列表。
要设置的常见 <xref:BlockBlobParallelUploadOptions.blobHTTPHeaders> 选项是 blobContentType
,使浏览器能够基于文件类型提供功能。
function uploadData(data: Buffer | Blob | ArrayBuffer | ArrayBufferView, options?: BlockBlobParallelUploadOptions)
参数
- data
-
Buffer | Blob | ArrayBuffer | ArrayBufferView
Buffer (Node.js) 、Blob、ArrayBuffer 或 ArrayBufferView
- options
- BlockBlobParallelUploadOptions
返回
Promise<BlobUploadCommonResponse>
uploadFile(string, BlockBlobParallelUploadOptions)
仅在 NODE.JS RUNTIME 中可用。 将块中的本地文件上传到块 Blob。
当文件大小小于或等于 256MB 时,此方法将使用 1 个上传调用来完成上传。 否则,此方法将调用 stageBlock 来上传块,最后调用 commitBlockList 来提交块列表。
function uploadFile(filePath: string, options?: BlockBlobParallelUploadOptions)
参数
- filePath
-
string
本地文件的完整路径
- options
- BlockBlobParallelUploadOptions
“上传到块 Blob”操作的选项。
返回
Promise<BlobUploadCommonResponse>
Blob 上传操作的响应数据。
uploadStream(Readable, number, number, BlockBlobUploadStreamOptions)
仅在 NODE.JS RUNTIME 中可用。 将Node.js可读流上传到块 Blob 中。
性能改进提示:
- 输入流 highWaterMark 最好使用 bufferSize 参数设置相同的值,这将避免 Buffer.concat () 操作。
function uploadStream(stream: Readable, bufferSize?: number, maxConcurrency?: number, options?: BlockBlobUploadStreamOptions)
参数
- stream
-
Readable
Node.js可读流
- bufferSize
-
number
分配的每个缓冲区的大小,以及上传的块 Blob 中的块大小。 默认值为 8MB
- maxConcurrency
-
number
最大并发性指示可以分配的最大缓冲区数,与最大上传并发性正相关。 默认值为 5
- options
- BlockBlobUploadStreamOptions
将流上传到块 Blob 操作的选项。
返回
Promise<BlobUploadCommonResponse>
Blob 上传操作的响应数据。
withSnapshot(string)
创建与源相同但具有指定快照时间戳的新 BlockBlobClient 对象。 提供“”将删除快照,并将 URL 返回到基本 Blob。
function withSnapshot(snapshot: string)
参数
- snapshot
-
string
快照时间戳。
返回
与源相同的新 BlockBlobClient 对象,但具有指定的快照时间戳。
withVersion(string)
创建一个新的 BlobClient 对象,该对象指向此 Blob 的某个版本。 提供“”将删除 versionId 并将客户端返回到基本 Blob。
function withVersion(versionId: string)
参数
- versionId
-
string
versionId。
返回
指向此 Blob 版本的新 BlobClient 对象。