你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
BlobServiceClient class
BlobServiceClient 表示 Azure 存储 Blob 服务的客户端,允许你操作 Blob 容器。
- Extends
构造函数
Blob |
创建 BlobServiceClient 的实例。 |
Blob |
创建 BlobServiceClient 的实例。 |
属性
account |
|
credential | 例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 |
url | 编码的 URL 字符串值。 |
方法
create |
创建 Blob 容器。 |
delete |
删除 Blob 容器。 |
find |
返回一个异步可迭代器,用于查找指定帐户下具有指定标记的所有 blob。 .byPage () 返回一个异步可迭代器,用于列出页中的 Blob。 |
from |
从连接字符串创建 BlobServiceClient 的实例。 |
generate |
仅适用于使用共享密钥凭据构造的 BlobServiceClient。 根据传入的客户端属性和参数, (SAS) URI 生成 Blob 帐户共享访问签名。 SAS 由客户端的共享密钥凭据签名。 |
get |
“获取帐户信息”操作返回指定帐户的 SKU 名称和帐户类型。 从版本 2018-03-28 开始,“获取帐户信息”操作适用于服务版本。 |
get |
创建 BlobBatchClient 对象以执行批处理操作。 |
get |
<xref:ContainerClient>创建对象 |
get |
获取存储帐户的 Blob 服务的属性,包括 存储分析 和 CORS (跨域资源共享) 规则的属性。 |
get |
检索与 Blob 服务的复制有关的统计信息。 仅在为存储帐户启用了读访问的地域冗余复制时,才能在辅助位置的终结点上使用它。 |
get |
仅在使用持有者令牌身份验证 (TokenCredential) 时才可用。 检索 Blob 服务的用户委派密钥。 这仅在使用持有者令牌身份验证时有效。 |
list |
返回一个异步可迭代器,用于列出指定帐户下的所有容器。 .byPage () 返回一个异步可迭代器,用于列出页面中的容器。 使用
使用
使用
使用标记分页的示例:
|
set |
设置存储帐户的 Blob 服务终结点的属性,包括存储分析、CORS (跨域资源共享) 规则和软删除设置的属性。 |
undelete |
还原以前删除的 Blob 容器。 仅当为与容器关联的存储帐户启用了容器软删除时,此 API 才起作用。 |
构造函数详细信息
BlobServiceClient(string, PipelineLike)
创建 BlobServiceClient 的实例。
new BlobServiceClient(url: string, pipeline: PipelineLike)
参数
- url
-
string
指向 Azure 存储 Blob 服务的客户端字符串,例如“https://myaccount.blob.core.windows.net"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net?sasString"”。
- pipeline
- PipelineLike
调用 newPipeline () 以创建默认管道,或提供自定义管道。
BlobServiceClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
创建 BlobServiceClient 的实例。
new BlobServiceClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
参数
- url
-
string
指向 Azure 存储 Blob 服务的客户端字符串,例如“https://myaccount.blob.core.windows.net"”。 如果使用 AnonymousCredential,则可以追加 SAS,例如“https://myaccount.blob.core.windows.net?sasString"”。
- credential
-
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
例如 AnonymousCredential、StorageSharedKeyCredential 或包中 @azure/identity
用于对服务请求进行身份验证的任何凭据。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
- options
- StoragePipelineOptions
可选。 用于配置 HTTP 管道的选项。
从 使用 DefaultAzureCredential @azure/identity
的示例:
const account = "<storage account name>";
const defaultAzureCredential = new DefaultAzureCredential();
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
defaultAzureCredential
);
使用帐户名称/密钥的示例:
const account = "<storage account name>"
const sharedKeyCredential = new StorageSharedKeyCredential(account, "<account key>");
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
sharedKeyCredential
);
属性详细信息
accountName
accountName: string
属性值
string
credential
例如 AnonymousCredential、StorageSharedKeyCredential 或包中的任何 @azure/identity
凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
属性值
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
url
编码的 URL 字符串值。
url: string
属性值
string
方法详细信息
createContainer(string, ContainerCreateOptions)
创建 Blob 容器。
function createContainer(containerName: string, options?: ContainerCreateOptions)
参数
- containerName
-
string
要创建的容器的名称。
- options
- ContainerCreateOptions
用于配置容器创建操作的选项。
返回
Promise<Object>
容器创建响应和相应的容器客户端。
deleteContainer(string, ContainerDeleteMethodOptions)
删除 Blob 容器。
function deleteContainer(containerName: string, options?: ContainerDeleteMethodOptions)
参数
- containerName
-
string
要删除的容器的名称。
- options
- ContainerDeleteMethodOptions
用于配置容器删除操作的选项。
返回
Promise<ContainerDeleteResponse>
容器删除响应。
findBlobsByTags(string, ServiceFindBlobByTagsOptions)
返回一个异步可迭代器,用于查找指定帐户下具有指定标记的所有 blob。 .byPage () 返回一个异步可迭代器,用于列出页中的 Blob。
function findBlobsByTags(tagFilterSqlExpression: string, options?: ServiceFindBlobByTagsOptions)
参数
- tagFilterSqlExpression
-
string
where 参数使调用方能够查询其标记与给定表达式匹配的 blob。 给定表达式的计算结果必须为 true,才能在结果中返回 Blob。 [OData - ABNF] 筛选器语法规则定义 where 查询参数的值的正式语法;但是,Blob 服务中仅支持一部分 OData 筛选器语法。
- options
- ServiceFindBlobByTagsOptions
用于按标记查找 Blob 的选项。
返回
PagedAsyncIterableIterator<FilterBlobItem, ServiceFindBlobsByTagsSegmentResponse>
fromConnectionString(string, StoragePipelineOptions)
从连接字符串创建 BlobServiceClient 的实例。
static function fromConnectionString(connectionString: 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
- options
- StoragePipelineOptions
可选。 用于配置 HTTP 管道的选项。
返回
generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)
仅适用于使用共享密钥凭据构造的 BlobServiceClient。 根据传入的客户端属性和参数, (SAS) URI 生成 Blob 帐户共享访问签名。 SAS 由客户端的共享密钥凭据签名。
function generateAccountSasUrl(expiresOn?: Date, permissions?: AccountSASPermissions, resourceTypes?: string, options?: ServiceGenerateAccountSasUrlOptions)
参数
- expiresOn
-
Date
可选。 共享访问签名变为无效的时间。 如果未提供,则默认为一小时后。
- permissions
- AccountSASPermissions
指定要与 SAS 关联的权限列表。
- resourceTypes
-
string
指定与共享访问签名关联的资源类型。
可选参数。
返回
string
帐户 SAS URI 由此客户端表示的资源的 URI 组成,后跟生成的 SAS 令牌。
getAccountInfo(ServiceGetAccountInfoOptions)
“获取帐户信息”操作返回指定帐户的 SKU 名称和帐户类型。 从版本 2018-03-28 开始,“获取帐户信息”操作适用于服务版本。
function getAccountInfo(options?: ServiceGetAccountInfoOptions)
参数
- options
- ServiceGetAccountInfoOptions
服务获取帐户信息操作的选项。
返回
Promise<ServiceGetAccountInfoResponse>
服务获取帐户信息操作的响应数据。
getBlobBatchClient()
创建 BlobBatchClient 对象以执行批处理操作。
function getBlobBatchClient()
返回
此服务的新 BlobBatchClient 对象。
getContainerClient(string)
<xref:ContainerClient>创建对象
function getContainerClient(containerName: string)
参数
- containerName
-
string
容器名称
返回
给定容器名称的新 ContainerClient 对象。
用法示例:
const containerClient = blobServiceClient.getContainerClient("<container name>");
getProperties(ServiceGetPropertiesOptions)
获取存储帐户的 Blob 服务的属性,包括 存储分析 和 CORS (跨域资源共享) 规则的属性。
function getProperties(options?: ServiceGetPropertiesOptions)
参数
- options
- ServiceGetPropertiesOptions
服务获取属性操作的选项。
返回
Promise<ServiceGetPropertiesResponse>
服务获取属性操作的响应数据。
getStatistics(ServiceGetStatisticsOptions)
检索与 Blob 服务的复制有关的统计信息。 仅在为存储帐户启用了读访问的地域冗余复制时,才能在辅助位置的终结点上使用它。
function getStatistics(options?: ServiceGetStatisticsOptions)
参数
- options
- ServiceGetStatisticsOptions
服务获取统计信息操作的选项。
返回
Promise<ServiceGetStatisticsResponse>
服务获取统计信息操作的响应数据。
getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)
仅在使用持有者令牌身份验证 (TokenCredential) 时才可用。 检索 Blob 服务的用户委派密钥。 这仅在使用持有者令牌身份验证时有效。
function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions)
参数
- startsOn
-
Date
用户委派 SAS 的开始时间。 必须在当前时间的 7 天内
- expiresOn
-
Date
用户委派 SAS 的结束时间。 必须在当前时间的 7 天内
返回
Promise<ServiceGetUserDelegationKeyResponse>
listContainers(ServiceListContainersOptions)
返回一个异步可迭代器,用于列出指定帐户下的所有容器。 .byPage () 返回一个异步可迭代器,用于列出页面中的容器。
使用 for await
语法的示例:
let i = 1;
for await (const container of blobServiceClient.listContainers()) {
console.log(`Container ${i++}: ${container.name}`);
}
使用 iter.next()
的示例:
let i = 1;
const iter = blobServiceClient.listContainers();
let containerItem = await iter.next();
while (!containerItem.done) {
console.log(`Container ${i++}: ${containerItem.value.name}`);
containerItem = await iter.next();
}
使用 byPage()
的示例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of blobServiceClient.listContainers().byPage({ maxPageSize: 20 })) {
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(`Container ${i++}: ${container.name}`);
}
}
}
使用标记分页的示例:
let i = 1;
let iterator = blobServiceClient.listContainers().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 container names
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(`Container ${i++}: ${container.name}`);
}
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = blobServiceClient
.listContainers()
.byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 container names
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(`Container ${i++}: ${container.name}`);
}
}
function listContainers(options?: ServiceListContainersOptions)
参数
- options
- ServiceListContainersOptions
用于列出容器的选项。
返回
PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse>
支持分页的 asyncIterableIterator。
setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)
设置存储帐户的 Blob 服务终结点的属性,包括存储分析、CORS (跨域资源共享) 规则和软删除设置的属性。
function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions)
参数
- properties
- BlobServiceProperties
- options
- ServiceSetPropertiesOptions
服务集属性操作的选项。
返回
Promise<ServiceSetPropertiesResponse>
服务集属性操作的响应数据。
undeleteContainer(string, string, ServiceUndeleteContainerOptions)
还原以前删除的 Blob 容器。 仅当为与容器关联的存储帐户启用了容器软删除时,此 API 才起作用。
function undeleteContainer(deletedContainerName: string, deletedContainerVersion: string, options?: ServiceUndeleteContainerOptions)
参数
- deletedContainerName
-
string
以前删除的容器的名称。
- deletedContainerVersion
-
string
以前删除的容器的版本,用于唯一标识已删除的容器。
- options
- ServiceUndeleteContainerOptions
用于配置容器还原操作的选项。
返回
Promise<Object>
容器删除响应。