BlobServiceClient class

A BlobServiceClient represents a Client to the Azure Storage Blob service allowing you to manipulate blob containers.

Extends

Constructors

BlobServiceClient(string, Pipeline)

Creates an instance of BlobServiceClient.

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

Creates an instance of BlobServiceClient.

Properties

accountName
credential

Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the @azure/identity package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.

url

Encoded URL string value.

Methods

createContainer(string, ContainerCreateOptions)

Create a Blob container.

deleteContainer(string, ContainerDeleteMethodOptions)

Deletes a Blob container.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Returns an async iterable iterator to find all blobs with specified tag under the specified account. .byPage() returns an async iterable iterator to list the blobs in pages.

fromConnectionString(string, StoragePipelineOptions)

Creates an instance of BlobServiceClient from connection string.

getAccountInfo(ServiceGetAccountInfoOptions)

The Get Account Information operation returns the sku name and account kind for the specified account. The Get Account Information operation is available on service versions beginning with version 2018-03-28.

getBlobBatchClient()

Creates a BlobBatchClient object to conduct batch operations.

getContainerClient(string)

Creates a <xref:ContainerClient> object

getProperties(ServiceGetPropertiesOptions)

Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.

getStatistics(ServiceGetStatisticsOptions)

Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.

listContainers(ServiceListContainersOptions)

Returns an async iterable iterator to list all the containers under the specified account. .byPage() returns an async iterable iterator to list the containers in pages.

Example using for await syntax:

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

Example using 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();
}

Example using 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}`);
    }
  }
}

Example using paging with a marker:

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)

Sets properties for a storage account’s Blob service endpoint, including properties for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.

Constructor Details

BlobServiceClient(string, Pipeline)

Creates an instance of BlobServiceClient.

new BlobServiceClient(url: string, pipeline: Pipeline)

Parameters

url
string

A Client string pointing to Azure Storage blob service, such as "https://myaccount.blob.core.windows.net". You can append a SAS if using AnonymousCredential, such as "https://myaccount.blob.core.windows.net?sasString".

pipeline
Pipeline

Call newPipeline() to create a default pipeline, or provide a customized pipeline.

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

Creates an instance of BlobServiceClient.

new BlobServiceClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

Parameters

url
string

A Client string pointing to Azure Storage blob service, such as "https://myaccount.blob.core.windows.net". You can append a SAS if using AnonymousCredential, such as "https://myaccount.blob.core.windows.net?sasString".

credential
StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the @azure/identity package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.

Property Details

accountName

accountName: string

Property Value

string

credential

Such as AnonymousCredential, StorageSharedKeyCredential or any credential from the @azure/identity package to authenticate requests to the service. You can also provide an object that implements the TokenCredential interface. If not specified, AnonymousCredential is used.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Property Value

url

Encoded URL string value.

url: string

Property Value

string

Method Details

createContainer(string, ContainerCreateOptions)

Create a Blob container.

function createContainer(containerName: string, options?: ContainerCreateOptions)

Parameters

containerName
string

Name of the container to create.

Returns

Promise<Object>

} Container creation response and the corresponding container client.

deleteContainer(string, ContainerDeleteMethodOptions)

Deletes a Blob container.

function deleteContainer(containerName: string, options?: ContainerDeleteMethodOptions)

Parameters

containerName
string

Name of the container to delete.

Returns

Container deletion response.

findBlobsByTags(string, ServiceFindBlobByTagsOptions)

Returns an async iterable iterator to find all blobs with specified tag under the specified account. .byPage() returns an async iterable iterator to list the blobs in pages.

function findBlobsByTags(tagFilterSqlExpression: string, options?: ServiceFindBlobByTagsOptions)

Parameters

tagFilterSqlExpression
string

The where parameter enables the caller to query blobs whose tags match a given expression. The given expression must evaluate to true for a blob to be returned in the results. The[OData - ABNF] filter syntax rule defines the formal grammar for the value of the where query parameter; however, only a subset of the OData filter syntax is supported in the Blob service.

Returns

PagedAsyncIterableIterator<@azure/storage-blob.FilterBlobItem, @azure/storage-blob.ServiceFindBlobsByTagsSegmentResponse>

fromConnectionString(string, StoragePipelineOptions)

Creates an instance of BlobServiceClient from connection string.

static function fromConnectionString(connectionString: string, options?: StoragePipelineOptions)

Parameters

connectionString
string

Account connection string or a SAS connection string of an Azure storage account. [ Note - Account connection string can only be used in NODE.JS runtime. ] Account connection string example - DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS connection string example - 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

Returns

getAccountInfo(ServiceGetAccountInfoOptions)

The Get Account Information operation returns the sku name and account kind for the specified account. The Get Account Information operation is available on service versions beginning with version 2018-03-28.

function getAccountInfo(options?: ServiceGetAccountInfoOptions)

Parameters

Returns

Response data for the Service Get Account Info operation.

getBlobBatchClient()

Creates a BlobBatchClient object to conduct batch operations.

function getBlobBatchClient()

Returns

A new BlobBatchClient object for this service.

getContainerClient(string)

Creates a <xref:ContainerClient> object

function getContainerClient(containerName: string)

Parameters

containerName
string

A container name

Returns

A new ContainerClient object for the given container name.

getProperties(ServiceGetPropertiesOptions)

Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.

function getProperties(options?: ServiceGetPropertiesOptions)

Parameters

Returns

Response data for the Service Get Properties operation.

getStatistics(ServiceGetStatisticsOptions)

Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.

function getStatistics(options?: ServiceGetStatisticsOptions)

Parameters

Returns

Response data for the Service Get Statistics operation.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.

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

Parameters

startsOn
Date

The start time for the user delegation SAS. Must be within 7 days of the current time

expiresOn
Date

The end time for the user delegation SAS. Must be within 7 days of the current time

Returns

listContainers(ServiceListContainersOptions)

Returns an async iterable iterator to list all the containers under the specified account. .byPage() returns an async iterable iterator to list the containers in pages.

Example using for await syntax:

let i = 1;
for await (const container of blobServiceClient.listContainers()) {
  console.log(`Container ${i++}: ${container.name}`);
}

Example using 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();
}

Example using 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}`);
    }
  }
}

Example using paging with a marker:

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)

Parameters

Returns

PagedAsyncIterableIterator<@azure/storage-blob.ContainerItem, @azure/storage-blob.ServiceListContainersSegmentResponse>

An asyncIterableIterator that supports paging.

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

Sets properties for a storage account’s Blob service endpoint, including properties for Storage Analytics, CORS (Cross-Origin Resource Sharing) rules and soft delete settings.

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

Parameters

Returns

Response data for the Service Set Properties operation.