Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ContainerClient

Package version

A ContainerClient represents a URL to the Azure Storage container allowing you to manipulate its blobs.

export

Hierarchy

Index

Constructors

constructor

  • Creates an instance of ContainerClient.

    memberof

    ContainerClient

    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

    • containerName: string

      Container name.

    • Optional options: StoragePipelineOptions

    Returns ContainerClient

  • Creates an instance of ContainerClient. This method accepts an encoded URL or non-encoded URL pointing to a page blob. Encoded URL string will NOT be escaped twice, only special characters in URL path will be escaped. If a blob name includes ? or %, blob name must be encoded in the URL.

    memberof

    ContainerClient

    Parameters

    Returns ContainerClient

  • Creates an instance of ContainerClient. This method accepts an encoded URL or non-encoded URL pointing to a page blob. Encoded URL string will NOT be escaped twice, only special characters in URL path will be escaped. If a blob name includes ? or %, blob name must be encoded in the URL.

    memberof

    ContainerClient

    Parameters

    Returns ContainerClient

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.

memberof

StorageClient

Protected isHttps

isHttps: boolean
memberof

StorageClient

Protected storageClientContext

storageClientContext: StorageClientContext

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

memberof

StorageClient

url

url: string

Encoded URL string value.

memberof

StorageClient

Accessors

containerName

  • get containerName(): string

Methods

create

delete

deleteBlob

exists

  • Returns true if the Azrue container resource represented by this client exists; false otherwise.

    NOTE: use this function with care since an existing container might be deleted by other clients or applications. Vice versa new containers with the same name might be added by other clients or applications after this function completes.

    memberof

    ContainerClient

    Parameters

    Returns Promise<boolean>

getAccessPolicy

getAppendBlobClient

getBlobClient

  • Creates a BlobClient

    memberof

    ContainerClient

    Parameters

    • blobName: string

      A blob name

    Returns BlobClient

    A new BlobClient object for the given blob name.

getBlobLeaseClient

  • Get a BlobLeaseClient that manages leases on the container.

    memberof

    ContainerClient

    Parameters

    • Optional proposeLeaseId: undefined | string

    Returns BlobLeaseClient

    A new BlobLeaseClient object for managing leases on the container.

getBlockBlobClient

  • Creates a BlockBlobClient

    memberof

    ContainerClient

    Example usage:

    const content = "Hello world!";
    
    const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
    const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

    Parameters

    • blobName: string

      A block blob name

    Returns BlockBlobClient

getPageBlobClient

getProperties

listBlobsByHierarchy

  • Returns an async iterable iterator to list all the blobs by hierarchy. under the specified account.

    .byPage() returns an async iterable iterator to list the blobs by hierarchy in pages.

    Example using for await syntax:

    for await (const item of containerClient.listBlobsByHierarchy("/")) {
      if (item.kind === "prefix") {
        console.log(`\tBlobPrefix: ${item.name}`);
      } else {
        console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
      }
    }

    Example using iter.next():

    let iter = await containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
    let entity = await iter.next();
    while (!entity.done) {
      let item = entity.value;
      if (item.kind === "prefix") {
        console.log(`\tBlobPrefix: ${item.name}`);
      } else {
        console.log(`\tBlobItem: name - ${item.name}, last modified - ${item.properties.lastModified}`);
      }
      entity = await iter.next();
    }
    ```js
    
    Example using `byPage()`:
    
    ```js
    console.log("Listing blobs by hierarchy by page");
    for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
      const segment = response.segment;
      if (segment.blobPrefixes) {
        for (const prefix of segment.blobPrefixes) {
          console.log(`\tBlobPrefix: ${prefix.name}`);
        }
      }
      for (const blob of response.segment.blobItems) {
        console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
      }
    }

    Example using paging with a max page size:

    console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");
    
    let i = 1;
    for await (const response of containerClient.listBlobsByHierarchy("/", { prefix: "prefix2/sub1/"}).byPage({ maxPageSize: 2 })) {
      console.log(`Page ${i++}`);
      const segment = response.segment;
    
      if (segment.blobPrefixes) {
        for (const prefix of segment.blobPrefixes) {
          console.log(`\tBlobPrefix: ${prefix.name}`);
        }
      }
    
      for (const blob of response.segment.blobItems) {
        console.log(`\tBlobItem: name - ${blob.name}, last modified - ${blob.properties.lastModified}`);
      }
    }
    memberof

    ContainerClient

    Parameters

    • delimiter: string

      The charactor or string used to define the virtual hierarchy

    • Default value options: ContainerListBlobsOptions = {}

    Returns PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse>

    {(PagedAsyncIterableIterator< { kind: "prefix" } & BlobPrefix | { kind: "blob" } & BlobItem, ContainerListBlobHierarchySegmentResponse

    )}

listBlobsFlat

  • Returns an async iterable iterator to list all the blobs under the specified account.

    .byPage() returns an async iterable iterator to list the blobs in pages.

    Example using for await syntax:

    // Get the containerClient before you run these snippets,
    // Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
    let i = 1;
    for await (const blob of containerClient.listBlobsFlat()) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }

    Example using iter.next():

    let i = 1;
    let iter = containerClient.listBlobsFlat();
    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 containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
      for (const blob of response.segment.blobItems) {
        console.log(`Blob ${i++}: ${blob.name}`);
      }
    }

    Example using paging with a marker:

    let i = 1;
    let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
    let response = (await iterator.next()).value;
    
    // Prints 2 blob names
    for (const blob of response.segment.blobItems) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
    
    // Gets next marker
    let marker = response.continuationToken;
    
    // Passing next marker as continuationToken
    
    iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
    response = (await iterator.next()).value;
    
    // Prints 10 blob names
    for (const blob of response.segment.blobItems) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
    memberof

    ContainerClient

    Parameters

    Returns PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>

    An asyncIterableIterator that supports paging.

setAccessPolicy

  • Sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.

    When you set permissions for a container, the existing permissions are replaced. If no access or containerAcl provided, the existing container ACL will be removed.

    When you establish a stored access policy on a container, it may take up to 30 seconds to take effect. During this interval, a shared access signature that is associated with the stored access policy will fail with status code 403 (Forbidden), until the access policy becomes active.

    see

    https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl

    memberof

    ContainerClient

    Parameters

    Returns Promise<ContainerSetAccessPolicyResponse>

setMetadata

uploadBlockBlob

Generated using TypeDoc