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

BlobServiceClient class

BlobServiceClient 表示 Azure 存储 Blob 服务的客户端,允许你操作 Blob 容器。

Extends

构造函数

BlobServiceClient(string, PipelineLike)

创建 BlobServiceClient 的实例。

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

创建 BlobServiceClient 的实例。

属性

accountName
credential

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

url

编码的 URL 字符串值。

方法

createContainer(string, ContainerCreateOptions)

创建 Blob 容器。

deleteContainer(string, ContainerDeleteMethodOptions)

删除 Blob 容器。

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

返回一个异步可迭代器,用于查找指定帐户下具有指定标记的所有 blob。 .byPage () 返回一个异步可迭代器,用于列出页中的 Blob。

fromConnectionString(string, StoragePipelineOptions)

从连接字符串创建 BlobServiceClient 的实例。

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

仅适用于使用共享密钥凭据构造的 BlobServiceClient。 根据传入的客户端属性和参数, (SAS) URI 生成 Blob 帐户共享访问签名。 SAS 由客户端的共享密钥凭据签名。

getAccountInfo(ServiceGetAccountInfoOptions)

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

getBlobBatchClient()

创建 BlobBatchClient 对象以执行批处理操作。

getContainerClient(string)

<xref:ContainerClient>创建对象

getProperties(ServiceGetPropertiesOptions)

获取存储帐户的 Blob 服务的属性,包括 存储分析 和 CORS (跨域资源共享) 规则的属性。

getStatistics(ServiceGetStatisticsOptions)

检索与 Blob 服务的复制有关的统计信息。 仅在为存储帐户启用了读访问的地域冗余复制时,才能在辅助位置的终结点上使用它。

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

仅在使用持有者令牌身份验证 (TokenCredential) 时才可用。 检索 Blob 服务的用户委派密钥。 这仅在使用持有者令牌身份验证时有效。

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}`);
  }
}
setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

设置存储帐户的 Blob 服务终结点的属性,包括存储分析、CORS (跨域资源共享) 规则和软删除设置的属性。

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

还原以前删除的 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

属性值

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

用于配置容器删除操作的选项。

返回

容器删除响应。

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 的选项。

返回

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

指定与共享访问签名关联的资源类型。

options
ServiceGenerateAccountSasUrlOptions

可选参数。

返回

string

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

getAccountInfo(ServiceGetAccountInfoOptions)

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

function getAccountInfo(options?: ServiceGetAccountInfoOptions)

参数

options
ServiceGetAccountInfoOptions

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

返回

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

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

服务获取属性操作的选项。

返回

服务获取属性操作的响应数据。

getStatistics(ServiceGetStatisticsOptions)

检索与 Blob 服务的复制有关的统计信息。 仅在为存储帐户启用了读访问的地域冗余复制时,才能在辅助位置的终结点上使用它。

function getStatistics(options?: ServiceGetStatisticsOptions)

参数

options
ServiceGetStatisticsOptions

服务获取统计信息操作的选项。

返回

服务获取统计信息操作的响应数据。

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

仅在使用持有者令牌身份验证 (TokenCredential) 时才可用。 检索 Blob 服务的用户委派密钥。 这仅在使用持有者令牌身份验证时有效。

function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions)

参数

startsOn

Date

用户委派 SAS 的开始时间。 必须在当前时间的 7 天内

expiresOn

Date

用户委派 SAS 的结束时间。 必须在当前时间的 7 天内

返回

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

用于列出容器的选项。

返回

支持分页的 asyncIterableIterator。

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

设置存储帐户的 Blob 服务终结点的属性,包括存储分析、CORS (跨域资源共享) 规则和软删除设置的属性。

function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions)

参数

options
ServiceSetPropertiesOptions

服务集属性操作的选项。

返回

服务集属性操作的响应数据。

undeleteContainer(string, string, ServiceUndeleteContainerOptions)

还原以前删除的 Blob 容器。 仅当为与容器关联的存储帐户启用了容器软删除时,此 API 才起作用。

function undeleteContainer(deletedContainerName: string, deletedContainerVersion: string, options?: ServiceUndeleteContainerOptions)

参数

deletedContainerName

string

以前删除的容器的名称。

deletedContainerVersion

string

以前删除的容器的版本,用于唯一标识已删除的容器。

options
ServiceUndeleteContainerOptions

用于配置容器还原操作的选项。

返回

Promise<Object>

容器删除响应。