Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BlobServiceClient

Package version

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

Hierarchy

Index

Constructors

constructor

Properties

accountName

accountName: string

credential

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.

Protected isHttps

isHttps: boolean

Protected pipeline

pipeline: PipelineLike

Request policy pipeline.

internal

Protected storageClientContext

storageClientContext: StorageClientContext

StorageClient is a reference to protocol layer operations entry, which is generated by AutoRest generator.

url

url: string

Encoded URL string value.

Methods

createContainer

deleteContainer

findBlobsByTags

  • 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.

    see

    https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties

    Example using for await syntax:

    let i = 1;
    for await (const blob of blobServiceClient.findBlobsByTags("tagkey='tagvalue'")) {
      console.log(`Blob ${i++}: ${container.name}`);
    }

    Example using iter.next():

    let i = 1;
    const iter = blobServiceClient.findBlobsByTags("tagkey='tagvalue'");
    let blobItem = await iter.next();
    while (!blobItem.done) {
      console.log(`Blob ${i++}: ${blobItem.value.name}`);
      blobItem = await iter.next();
    }

    Example using byPage():

    // passing optional maxPageSize in the page settings
    let i = 1;
    for await (const response of blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
      if (response.blobs) {
        for (const blob of response.blobs) {
          console.log(`Blob ${i++}: ${blob.name}`);
        }
      }
    }

    Example using paging with a marker:

    let i = 1;
    let iterator = blobServiceClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
    let response = (await iterator.next()).value;
    
    // Prints 2 blob names
    if (response.blobs) {
      for (const blob of response.blobs) {
        console.log(`Blob ${i++}: ${blob.name}`);
      }
    }
    
    // Gets next marker
    let marker = response.continuationToken;
    // Passing next marker as continuationToken
    iterator = blobServiceClient
      .findBlobsByTags("tagkey='tagvalue'")
      .byPage({ continuationToken: marker, maxPageSize: 10 });
    response = (await iterator.next()).value;
    
    // Prints blob names
    if (response.blobs) {
      for (const blob of response.blobs) {
         console.log(`Blob ${i++}: ${blob.name}`);
      }
    }

    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.

    • Default value options: ServiceFindBlobByTagsOptions = {}

      Options to find blobs by tags.

    Returns PagedAsyncIterableIterator<FilterBlobItem, ServiceFindBlobsByTagsSegmentResponse>

generateAccountSasUrl

  • Only available for BlobServiceClient constructed with a shared key credential.

    Generates a Blob account Shared Access Signature (SAS) URI based on the client properties and parameters passed in. The SAS is signed by the shared key credential of the client.

    see

    https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas

    Parameters

    • Optional expiresOn: Date

      Optional. The time at which the shared access signature becomes invalid. Default to an hour later if not provided.

    • Default value permissions: AccountSASPermissions = AccountSASPermissions.parse("r")

      Specifies the list of permissions to be associated with the SAS.

    • Default value resourceTypes: string = "sco"

      Specifies the resource types associated with the shared access signature.

    • Default value options: ServiceGenerateAccountSasUrlOptions = {}

      Optional parameters.

    Returns string

    An account SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token.

getAccountInfo

getBlobBatchClient

getContainerClient

getProperties

getStatistics

getUserDelegationKey

listContainers

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

    Parameters

    Returns PagedAsyncIterableIterator<ContainerItem, ServiceListContainersSegmentResponse>

    An asyncIterableIterator that supports paging.

setProperties

undeleteContainer

  • Restore a previously deleted Blob container. This API is only functional if Container Soft Delete is enabled for the storage account associated with the container.

    Parameters

    • deletedContainerName: string

      Name of the previously deleted container.

    • deletedContainerVersion: string

      Version of the previously deleted container, used to uniquely identify the deleted container.

    • Default value options: ServiceUndeleteContainerOptions = {}

      Options to configure Container Restore operation.

    Returns Promise<{ containerClient: ContainerClient; containerUndeleteResponse: ContainerUndeleteResponse }>

    Container deletion response.

Static fromConnectionString

  • Creates an instance of BlobServiceClient from connection string.

    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

    • Optional options: StoragePipelineOptions

      Optional. Options to configure the HTTP pipeline.

    Returns BlobServiceClient

Generated using TypeDoc