AppendBlobClient class

AppendBlobClient defines a set of operations applicable to append blobs.

Extends

Constructors

AppendBlobClient(string, PipelineLike)

Creates an instance of AppendBlobClient. This method accepts an encoded URL or non-encoded URL pointing to an append 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.

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

Creates an instance of AppendBlobClient. This method accepts an encoded URL or non-encoded URL pointing to an append 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.

AppendBlobClient(string, string, string, StoragePipelineOptions)

Creates an instance of AppendBlobClient.

Properties

containerName

The name of the storage container the blob is associated with.

name

The name of the blob.

Inherited 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

appendBlock(RequestBodyType, number, AppendBlobAppendBlockOptions)

Commits a new block of data to the end of the existing append blob.

See https://docs.microsoft.com/rest/api/storageservices/append-block

appendBlockFromURL(string, number, number, AppendBlobAppendBlockFromURLOptions)

The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url.

See https://docs.microsoft.com/en-us/rest/api/storageservices/append-block-from-url

create(AppendBlobCreateOptions)

Creates a 0-length append blob. Call AppendBlock to append data to an append blob.

See https://docs.microsoft.com/rest/api/storageservices/put-blob

createIfNotExists(AppendBlobCreateIfNotExistsOptions)

Creates a 0-length append blob. Call AppendBlock to append data to an append blob. If the blob with the same name already exists, the content of the existing blob will remain unchanged.

See https://docs.microsoft.com/rest/api/storageservices/put-blob

seal(AppendBlobSealOptions)

Seals the append blob, making it read only.

withSnapshot(string)

Creates a new AppendBlobClient object identical to the source but with the specified snapshot timestamp. Provide "" will remove the snapshot and return a Client to the base blob.

Inherited Methods

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero length and full metadata. Version 2012-02-12 and newer.

See https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

Asynchronously copies a blob to a destination within the storage account. This method returns a long running operation poller that allows you to wait indefinitely until the copy is completed. You can also cancel a copy before it is completed by calling cancelOperation on the poller. Note that the onProgress callback will not be invoked if the operation completes in the first request, and attempting to cancel a completed copy will result in an error being thrown.

In version 2012-02-12 and later, the source for a Copy Blob operation can be a committed blob in any Azure storage account. Beginning with version 2015-02-21, the source for a Copy Blob operation can be an Azure file in any Azure storage account. Only storage accounts created on or after June 7th, 2012 allow the Copy Blob operation to copy from another storage account.

See https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob

Example using automatic polling:

const copyPoller = await blobClient.beginCopyFromURL('url');
const result = await copyPoller.pollUntilDone();

Example using manual polling:

const copyPoller = await blobClient.beginCopyFromURL('url');
while (!poller.isDone()) {
   await poller.poll();
}
const result = copyPoller.getResult();

Example using progress updates:

const copyPoller = await blobClient.beginCopyFromURL('url', {
  onProgress(state) {
    console.log(`Progress: ${state.copyProgress}`);
  }
});
const result = await copyPoller.pollUntilDone();

Example using a changing polling interval (default 15 seconds):

const copyPoller = await blobClient.beginCopyFromURL('url', {
  intervalInMs: 1000 // poll blob every 1 second for copy progress
});
const result = await copyPoller.pollUntilDone();

Example using copy cancellation:

const copyPoller = await blobClient.beginCopyFromURL('url');
// cancel operation after starting it.
try {
  await copyPoller.cancelOperation();
  // calls to get the result now throw PollerCancelledError
  await copyPoller.getResult();
} catch (err) {
  if (err.name === 'PollerCancelledError') {
    console.log('The copy was cancelled.');
  }
}
createSnapshot(BlobCreateSnapshotOptions)

Creates a read-only snapshot of a blob.

See https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

delete(BlobDeleteOptions)

Marks the specified blob or snapshot for deletion. The blob is later deleted during garbage collection. Note that in order to delete a blob, you must delete all of its snapshots. You can delete both at the same time with the Delete Blob operation.

See https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteIfExists(BlobDeleteOptions)

Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted during garbage collection. Note that in order to delete a blob, you must delete all of its snapshots. You can delete both at the same time with the Delete Blob operation.

See https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

Delete the immutablility policy on the blob.

download(number, number, BlobDownloadOptions)

Reads or downloads a blob from the system, including its metadata and properties. You can also call Get Blob to read a snapshot.

  • In Node.js, data returns in a Readable stream readableStreamBody
  • In browsers, data returns in a promise blobBody

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

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob in parallel to a buffer. Offset and count are optional, downloads the entire blob if they are not provided.

Warning: Buffers can only support files up to about one gigabyte on 32-bit systems or about two gigabytes on 64-bit systems due to limitations of Node.js/V8. For blobs larger than this size, consider downloadToFile.

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob in parallel to a buffer. Offset and count are optional, downloads the entire blob if they are not provided.

Warning: Buffers can only support files up to about one gigabyte on 32-bit systems or about two gigabytes on 64-bit systems due to limitations of Node.js/V8. For blobs larger than this size, consider downloadToFile.

downloadToFile(string, number, number, BlobDownloadOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob to a local file. Fails if the the given file path already exits. Offset and count are optional, pass 0 and undefined respectively to download the entire blob.

exists(BlobExistsOptions)

Returns true if the Azure blob resource represented by this client exists; false otherwise.

NOTE: use this function with care since an existing blob might be deleted by other clients or applications. Vice versa new blobs might be added by other clients or applications after this function completes.

generateSasStringToSign(BlobGenerateSasUrlOptions)

Only available for BlobClient constructed with a shared key credential.

Generates string to sign for a Blob Service 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/constructing-a-service-sas

generateSasUrl(BlobGenerateSasUrlOptions)

Only available for BlobClient constructed with a shared key credential.

Generates a Blob Service 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/constructing-a-service-sas

generateUserDelegationSasStringToSign(BlobGenerateSasUrlOptions, UserDelegationKey)

Only available for BlobClient constructed with a shared key credential.

Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.

See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateUserDelegationSasUrl(BlobGenerateSasUrlOptions, UserDelegationKey)

Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.

See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAccountInfo(BlobGetAccountInfoOptions)

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.

See https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

getAppendBlobClient()

Creates a AppendBlobClient object.

getBlobLeaseClient(string)

Get a BlobLeaseClient that manages leases on the blob.

getBlockBlobClient()

Creates a BlockBlobClient object.

getPageBlobClient()

Creates a PageBlobClient object.

getProperties(BlobGetPropertiesOptions)

Returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.

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

WARNING: The metadata object returned in the response will have its keys in lowercase, even if they originally contained uppercase characters. This differs from the metadata keys returned by the methods of ContainerClient that list blobs using the includeMetadata option, which will retain their original casing.

getTags(BlobGetTagsOptions)

Gets the tags associated with the underlying blob.

setAccessTier(string, BlobSetTierOptions)

Sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

Sets system properties on the blob.

If no value provided, or no value provided for the specified blob HTTP headers, these blob HTTP headers without a value will be cleared.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

Set immutability policy on the blob.

setLegalHold(boolean, BlobSetLegalHoldOptions)

Set legal hold on the blob.

setMetadata(Metadata, BlobSetMetadataOptions)

Sets user-defined metadata for the specified blob as one or more name-value pairs.

If no option provided, or no metadata defined in the parameter, the blob metadata will be removed.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata

setTags(Tags, BlobSetTagsOptions)

Sets tags on the underlying blob. A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. Valid tag key and value characters include lower and upper case letters, digits (0-9), space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.

See https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

undelete(BlobUndeleteOptions)

Restores the contents and metadata of soft deleted blob and any associated soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 or later.

See https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob

withVersion(string)

Creates a new BlobClient object pointing to a version of this blob. Provide "" will remove the versionId and return a Client to the base blob.

Constructor Details

AppendBlobClient(string, PipelineLike)

Creates an instance of AppendBlobClient. This method accepts an encoded URL or non-encoded URL pointing to an append 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.

new AppendBlobClient(url: string, pipeline: PipelineLike)

Parameters

url

string

A URL string pointing to Azure Storage append blob, such as "https://myaccount.blob.core.windows.net/mycontainer/appendblob". You can append a SAS if using AnonymousCredential, such as "https://myaccount.blob.core.windows.net/mycontainer/appendblob?sasString". This method accepts an encoded URL or non-encoded URL pointing to a blob. Encoded URL string will NOT be escaped twice, only special characters in URL path will be escaped. However, if a blob name includes ? or %, blob name must be encoded in the URL. Such as a blob named "my?blob%", the URL should be "https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25".

pipeline
PipelineLike

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

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

Creates an instance of AppendBlobClient. This method accepts an encoded URL or non-encoded URL pointing to an append 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.

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

Parameters

url

string

A URL string pointing to Azure Storage append blob, such as "https://myaccount.blob.core.windows.net/mycontainer/appendblob". You can append a SAS if using AnonymousCredential, such as "https://myaccount.blob.core.windows.net/mycontainer/appendblob?sasString". This method accepts an encoded URL or non-encoded URL pointing to a blob. Encoded URL string will NOT be escaped twice, only special characters in URL path will be escaped. However, if a blob name includes ? or %, blob name must be encoded in the URL. Such as a blob named "my?blob%", the URL should be "https://myaccount.blob.core.windows.net/mycontainer/my%3Fblob%25".

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.

options
StoragePipelineOptions

Optional. Options to configure the HTTP pipeline.

AppendBlobClient(string, string, string, StoragePipelineOptions)

Creates an instance of AppendBlobClient.

new AppendBlobClient(connectionString: string, containerName: string, blobName: 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

containerName

string

Container name.

blobName

string

Blob name.

options
StoragePipelineOptions

Optional. Options to configure the HTTP pipeline.

Property Details

containerName

The name of the storage container the blob is associated with.

string containerName

Property Value

string

name

The name of the blob.

string name

Property Value

string

Inherited Property Details

accountName

accountName: string

Property Value

string

Inherited From BlobClient.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.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Property Value

Inherited From BlobClient.credential

url

Encoded URL string value.

url: string

Property Value

string

Inherited From BlobClient.url

Method Details

appendBlock(RequestBodyType, number, AppendBlobAppendBlockOptions)

Commits a new block of data to the end of the existing append blob.

See https://docs.microsoft.com/rest/api/storageservices/append-block

function appendBlock(body: RequestBodyType, contentLength: number, options?: AppendBlobAppendBlockOptions): Promise<AppendBlobAppendBlockResponse>

Parameters

body
HttpRequestBody

Data to be appended.

contentLength

number

Length of the body in bytes.

options
AppendBlobAppendBlockOptions

Options to the Append Block operation.

Example usage:

const content = "Hello World!";

// Create a new append blob and append data to the blob.
const newAppendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await newAppendBlobClient.create();
await newAppendBlobClient.appendBlock(content, content.length);

// Append data to an existing append blob.
const existingAppendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await existingAppendBlobClient.appendBlock(content, content.length);

Returns

appendBlockFromURL(string, number, number, AppendBlobAppendBlockFromURLOptions)

The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url.

See https://docs.microsoft.com/en-us/rest/api/storageservices/append-block-from-url

function appendBlockFromURL(sourceURL: string, sourceOffset: number, count: number, options?: AppendBlobAppendBlockFromURLOptions): Promise<AppendBlobAppendBlockFromUrlResponse>

Parameters

sourceURL

string

The url to the blob that will be the source of the copy. A source blob in the same storage account can be authenticated via Shared Key. However, if the source is a blob in another account, the source blob must either be public or must be authenticated via a shared access signature. If the source blob is public, no authentication is required to perform the operation.

sourceOffset

number

Offset in source to be appended

count

number

Number of bytes to be appended as a block

Returns

create(AppendBlobCreateOptions)

Creates a 0-length append blob. Call AppendBlock to append data to an append blob.

See https://docs.microsoft.com/rest/api/storageservices/put-blob

function create(options?: AppendBlobCreateOptions): Promise<AppendBlobCreateResponse>

Parameters

options
AppendBlobCreateOptions

Options to the Append Block Create operation.

Example usage:

const appendBlobClient = containerClient.getAppendBlobClient("<blob name>");
await appendBlobClient.create();

Returns

createIfNotExists(AppendBlobCreateIfNotExistsOptions)

Creates a 0-length append blob. Call AppendBlock to append data to an append blob. If the blob with the same name already exists, the content of the existing blob will remain unchanged.

See https://docs.microsoft.com/rest/api/storageservices/put-blob

function createIfNotExists(options?: AppendBlobCreateIfNotExistsOptions): Promise<AppendBlobCreateIfNotExistsResponse>

Parameters

Returns

seal(AppendBlobSealOptions)

Seals the append blob, making it read only.

function seal(options?: AppendBlobSealOptions): Promise<AppendBlobAppendBlockResponse>

Parameters

Returns

withSnapshot(string)

Creates a new AppendBlobClient object identical to the source but with the specified snapshot timestamp. Provide "" will remove the snapshot and return a Client to the base blob.

function withSnapshot(snapshot: string): AppendBlobClient

Parameters

snapshot

string

The snapshot timestamp.

Returns

A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.

Inherited Method Details

abortCopyFromURL(string, BlobAbortCopyFromURLOptions)

Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero length and full metadata. Version 2012-02-12 and newer.

See https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob

function abortCopyFromURL(copyId: string, options?: BlobAbortCopyFromURLOptions): Promise<BlobAbortCopyFromURLResponse>

Parameters

copyId

string

Id of the Copy From URL operation.

options
BlobAbortCopyFromURLOptions

Optional options to the Blob Abort Copy From URL operation.

Returns

Inherited From BlobClient.abortCopyFromURL

beginCopyFromURL(string, BlobBeginCopyFromURLOptions)

Asynchronously copies a blob to a destination within the storage account. This method returns a long running operation poller that allows you to wait indefinitely until the copy is completed. You can also cancel a copy before it is completed by calling cancelOperation on the poller. Note that the onProgress callback will not be invoked if the operation completes in the first request, and attempting to cancel a completed copy will result in an error being thrown.

In version 2012-02-12 and later, the source for a Copy Blob operation can be a committed blob in any Azure storage account. Beginning with version 2015-02-21, the source for a Copy Blob operation can be an Azure file in any Azure storage account. Only storage accounts created on or after June 7th, 2012 allow the Copy Blob operation to copy from another storage account.

See https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob

Example using automatic polling:

const copyPoller = await blobClient.beginCopyFromURL('url');
const result = await copyPoller.pollUntilDone();

Example using manual polling:

const copyPoller = await blobClient.beginCopyFromURL('url');
while (!poller.isDone()) {
   await poller.poll();
}
const result = copyPoller.getResult();

Example using progress updates:

const copyPoller = await blobClient.beginCopyFromURL('url', {
  onProgress(state) {
    console.log(`Progress: ${state.copyProgress}`);
  }
});
const result = await copyPoller.pollUntilDone();

Example using a changing polling interval (default 15 seconds):

const copyPoller = await blobClient.beginCopyFromURL('url', {
  intervalInMs: 1000 // poll blob every 1 second for copy progress
});
const result = await copyPoller.pollUntilDone();

Example using copy cancellation:

const copyPoller = await blobClient.beginCopyFromURL('url');
// cancel operation after starting it.
try {
  await copyPoller.cancelOperation();
  // calls to get the result now throw PollerCancelledError
  await copyPoller.getResult();
} catch (err) {
  if (err.name === 'PollerCancelledError') {
    console.log('The copy was cancelled.');
  }
}
function beginCopyFromURL(copySource: string, options?: BlobBeginCopyFromURLOptions): Promise<PollerLikeWithCancellation<PollOperationState<BlobBeginCopyFromURLResponse>, BlobBeginCopyFromURLResponse>>

Parameters

copySource

string

url to the source Azure Blob/File.

options
BlobBeginCopyFromURLOptions

Optional options to the Blob Start Copy From URL operation.

Returns

Inherited From BlobClient.beginCopyFromURL

createSnapshot(BlobCreateSnapshotOptions)

Creates a read-only snapshot of a blob.

See https://docs.microsoft.com/en-us/rest/api/storageservices/snapshot-blob

function createSnapshot(options?: BlobCreateSnapshotOptions): Promise<BlobCreateSnapshotResponse>

Parameters

options
BlobCreateSnapshotOptions

Optional options to the Blob Create Snapshot operation.

Returns

Inherited From BlobClient.createSnapshot

delete(BlobDeleteOptions)

Marks the specified blob or snapshot for deletion. The blob is later deleted during garbage collection. Note that in order to delete a blob, you must delete all of its snapshots. You can delete both at the same time with the Delete Blob operation.

See https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function delete(options?: BlobDeleteOptions): Promise<BlobDeleteResponse>

Parameters

options
BlobDeleteOptions

Optional options to Blob Delete operation.

Returns

Inherited From BlobClient.delete

deleteIfExists(BlobDeleteOptions)

Marks the specified blob or snapshot for deletion if it exists. The blob is later deleted during garbage collection. Note that in order to delete a blob, you must delete all of its snapshots. You can delete both at the same time with the Delete Blob operation.

See https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob

function deleteIfExists(options?: BlobDeleteOptions): Promise<BlobDeleteIfExistsResponse>

Parameters

options
BlobDeleteOptions

Optional options to Blob Delete operation.

Returns

Inherited From BlobClient.deleteIfExists

deleteImmutabilityPolicy(BlobDeleteImmutabilityPolicyOptions)

Delete the immutablility policy on the blob.

function deleteImmutabilityPolicy(options?: BlobDeleteImmutabilityPolicyOptions): Promise<BlobDeleteImmutabilityPolicyResponse>

Parameters

options
BlobDeleteImmutabilityPolicyOptions

Optional options to delete immutability policy on the blob.

Returns

Inherited From BlobClient.deleteImmutabilityPolicy

download(number, number, BlobDownloadOptions)

Reads or downloads a blob from the system, including its metadata and properties. You can also call Get Blob to read a snapshot.

  • In Node.js, data returns in a Readable stream readableStreamBody
  • In browsers, data returns in a promise blobBody

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

function download(offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>

Parameters

offset

number

From which position of the blob to download, greater than or equal to 0

count

number

How much data to be downloaded, greater than 0. Will download to the end when undefined

options
BlobDownloadOptions

Optional options to Blob Download operation.

Example usage (Node.js):

// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await streamToBuffer(downloadBlockBlobResponse.readableStreamBody);
console.log("Downloaded blob content:", downloaded.toString());

async function streamToBuffer(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on("data", (data) => {
chunks.push(data instanceof Buffer ? data : Buffer.from(data));
});
readableStream.on("end", () => {
resolve(Buffer.concat(chunks));
});
readableStream.on("error", reject);
});
}

Example usage (browser):

// Download and convert a blob to a string
const downloadBlockBlobResponse = await blobClient.download();
const downloaded = await blobToString(await downloadBlockBlobResponse.blobBody);
console.log(
  "Downloaded blob content",
  downloaded
);

async function blobToString(blob: Blob): Promise<string> {
  const fileReader = new FileReader();
  return new Promise<string>((resolve, reject) => {
    fileReader.onloadend = (ev: any) => {
      resolve(ev.target!.result);
    };
    fileReader.onerror = reject;
    fileReader.readAsText(blob);
  });
}

Returns

Inherited From BlobClient.download

downloadToBuffer(Buffer, number, number, BlobDownloadToBufferOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob in parallel to a buffer. Offset and count are optional, downloads the entire blob if they are not provided.

Warning: Buffers can only support files up to about one gigabyte on 32-bit systems or about two gigabytes on 64-bit systems due to limitations of Node.js/V8. For blobs larger than this size, consider downloadToFile.

function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>

Parameters

buffer

Buffer

Buffer to be fill, must have length larger than count

offset

number

From which position of the block blob to download(in bytes)

count

number

How much data(in bytes) to be downloaded. Will download to the end when passing undefined

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

Returns

Promise<Buffer>

Inherited From BlobClient.downloadToBuffer

downloadToBuffer(number, number, BlobDownloadToBufferOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob in parallel to a buffer. Offset and count are optional, downloads the entire blob if they are not provided.

Warning: Buffers can only support files up to about one gigabyte on 32-bit systems or about two gigabytes on 64-bit systems due to limitations of Node.js/V8. For blobs larger than this size, consider downloadToFile.

function downloadToBuffer(offset?: number, count?: number, options?: BlobDownloadToBufferOptions): Promise<Buffer>

Parameters

offset

number

From which position of the block blob to download(in bytes)

count

number

How much data(in bytes) to be downloaded. Will download to the end when passing undefined

options
BlobDownloadToBufferOptions

BlobDownloadToBufferOptions

Returns

Promise<Buffer>

Inherited From BlobClient.downloadToBuffer

downloadToFile(string, number, number, BlobDownloadOptions)

ONLY AVAILABLE IN NODE.JS RUNTIME.

Downloads an Azure Blob to a local file. Fails if the the given file path already exits. Offset and count are optional, pass 0 and undefined respectively to download the entire blob.

function downloadToFile(filePath: string, offset?: number, count?: number, options?: BlobDownloadOptions): Promise<BlobDownloadResponseParsed>

Parameters

filePath

string

offset

number

From which position of the block blob to download.

count

number

How much data to be downloaded. Will download to the end when passing undefined.

options
BlobDownloadOptions

Options to Blob download options.

Returns

The response data for blob download operation, but with readableStreamBody set to undefined since its content is already read and written into a local file at the specified path.

Inherited From BlobClient.downloadToFile

exists(BlobExistsOptions)

Returns true if the Azure blob resource represented by this client exists; false otherwise.

NOTE: use this function with care since an existing blob might be deleted by other clients or applications. Vice versa new blobs might be added by other clients or applications after this function completes.

function exists(options?: BlobExistsOptions): Promise<boolean>

Parameters

options
BlobExistsOptions

options to Exists operation.

Returns

Promise<boolean>

Inherited From BlobClient.exists

generateSasStringToSign(BlobGenerateSasUrlOptions)

Only available for BlobClient constructed with a shared key credential.

Generates string to sign for a Blob Service 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/constructing-a-service-sas

function generateSasStringToSign(options: BlobGenerateSasUrlOptions): string

Parameters

options
BlobGenerateSasUrlOptions

Optional parameters.

Returns

string

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

Inherited From BlobClient.generateSasStringToSign

generateSasUrl(BlobGenerateSasUrlOptions)

Only available for BlobClient constructed with a shared key credential.

Generates a Blob Service 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/constructing-a-service-sas

function generateSasUrl(options: BlobGenerateSasUrlOptions): Promise<string>

Parameters

options
BlobGenerateSasUrlOptions

Optional parameters.

Returns

Promise<string>

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

Inherited From BlobClient.generateSasUrl

generateUserDelegationSasStringToSign(BlobGenerateSasUrlOptions, UserDelegationKey)

Only available for BlobClient constructed with a shared key credential.

Generates string to sign for a Blob Service Shared Access Signature (SAS) URI based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.

See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasStringToSign(options: BlobGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): string

Parameters

options
BlobGenerateSasUrlOptions

Optional parameters.

userDelegationKey
UserDelegationKey

Return value of blobServiceClient.getUserDelegationKey()

Returns

string

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

Inherited From BlobClient.generateUserDelegationSasStringToSign

generateUserDelegationSasUrl(BlobGenerateSasUrlOptions, UserDelegationKey)

Generates a Blob Service Shared Access Signature (SAS) URI based on the client properties and parameters passed in. The SAS is signed by the input user delegation key.

See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasUrl(options: BlobGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): Promise<string>

Parameters

options
BlobGenerateSasUrlOptions

Optional parameters.

userDelegationKey
UserDelegationKey

Return value of blobServiceClient.getUserDelegationKey()

Returns

Promise<string>

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

Inherited From BlobClient.generateUserDelegationSasUrl

getAccountInfo(BlobGetAccountInfoOptions)

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.

See https://docs.microsoft.com/en-us/rest/api/storageservices/get-account-information

function getAccountInfo(options?: BlobGetAccountInfoOptions): Promise<BlobGetAccountInfoResponse>

Parameters

options
BlobGetAccountInfoOptions

Options to the Service Get Account Info operation.

Returns

Response data for the Service Get Account Info operation.

Inherited From BlobClient.getAccountInfo

getAppendBlobClient()

Creates a AppendBlobClient object.

function getAppendBlobClient(): AppendBlobClient

Returns

Inherited From BlobClient.getAppendBlobClient

getBlobLeaseClient(string)

Get a BlobLeaseClient that manages leases on the blob.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

Parameters

proposeLeaseId

string

Initial proposed lease Id.

Returns

A new BlobLeaseClient object for managing leases on the blob.

Inherited From BlobClient.getBlobLeaseClient

getBlockBlobClient()

Creates a BlockBlobClient object.

function getBlockBlobClient(): BlockBlobClient

Returns

Inherited From BlobClient.getBlockBlobClient

getPageBlobClient()

Creates a PageBlobClient object.

function getPageBlobClient(): PageBlobClient

Returns

Inherited From BlobClient.getPageBlobClient

getProperties(BlobGetPropertiesOptions)

Returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.

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

WARNING: The metadata object returned in the response will have its keys in lowercase, even if they originally contained uppercase characters. This differs from the metadata keys returned by the methods of ContainerClient that list blobs using the includeMetadata option, which will retain their original casing.

function getProperties(options?: BlobGetPropertiesOptions): Promise<BlobGetPropertiesResponse>

Parameters

options
BlobGetPropertiesOptions

Optional options to Get Properties operation.

Returns

Inherited From BlobClient.getProperties

getTags(BlobGetTagsOptions)

Gets the tags associated with the underlying blob.

function getTags(options?: BlobGetTagsOptions): Promise<BlobGetTagsResponse>

Parameters

Returns

Inherited From BlobClient.getTags

setAccessTier(string, BlobSetTierOptions)

Sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier

function setAccessTier(tier: string, options?: BlobSetTierOptions): Promise<BlobSetTierResponse>

Parameters

tier

string

The tier to be set on the blob. Valid values are Hot, Cool, or Archive.

options
BlobSetTierOptions

Optional options to the Blob Set Tier operation.

Returns

Inherited From BlobClient.setAccessTier

setHTTPHeaders(BlobHTTPHeaders, BlobSetHTTPHeadersOptions)

Sets system properties on the blob.

If no value provided, or no value provided for the specified blob HTTP headers, these blob HTTP headers without a value will be cleared.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-properties

function setHTTPHeaders(blobHTTPHeaders?: BlobHTTPHeaders, options?: BlobSetHTTPHeadersOptions): Promise<BlobSetHTTPHeadersResponse>

Parameters

blobHTTPHeaders
BlobHTTPHeaders

If no value provided, or no value provided for the specified blob HTTP headers, these blob HTTP headers without a value will be cleared. A common header to set is blobContentType enabling the browser to provide functionality based on file type.

options
BlobSetHTTPHeadersOptions

Optional options to Blob Set HTTP Headers operation.

Returns

Inherited From BlobClient.setHTTPHeaders

setImmutabilityPolicy(BlobImmutabilityPolicy, BlobSetImmutabilityPolicyOptions)

Set immutability policy on the blob.

function setImmutabilityPolicy(immutabilityPolicy: BlobImmutabilityPolicy, options?: BlobSetImmutabilityPolicyOptions): Promise<BlobSetImmutabilityPolicyResponse>

Parameters

immutabilityPolicy
BlobImmutabilityPolicy
options
BlobSetImmutabilityPolicyOptions

Optional options to set immutability policy on the blob.

Returns

Inherited From BlobClient.setImmutabilityPolicy

setLegalHold(boolean, BlobSetLegalHoldOptions)

Set legal hold on the blob.

function setLegalHold(legalHoldEnabled: boolean, options?: BlobSetLegalHoldOptions): Promise<BlobSetLegalHoldResponse>

Parameters

legalHoldEnabled

boolean

options
BlobSetLegalHoldOptions

Optional options to set legal hold on the blob.

Returns

Inherited From BlobClient.setLegalHold

setMetadata(Metadata, BlobSetMetadataOptions)

Sets user-defined metadata for the specified blob as one or more name-value pairs.

If no option provided, or no metadata defined in the parameter, the blob metadata will be removed.

See https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata

function setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions): Promise<BlobSetMetadataResponse>

Parameters

metadata
Metadata

Replace existing metadata with this value. If no value provided the existing metadata will be removed.

options
BlobSetMetadataOptions

Optional options to Set Metadata operation.

Returns

Inherited From BlobClient.setMetadata

setTags(Tags, BlobSetTagsOptions)

Sets tags on the underlying blob. A blob can have up to 10 tags. Tag keys must be between 1 and 128 characters. Tag values must be between 0 and 256 characters. Valid tag key and value characters include lower and upper case letters, digits (0-9), space (' '), plus ('+'), minus ('-'), period ('.'), foward slash ('/'), colon (':'), equals ('='), and underscore ('_').

function setTags(tags: Tags, options?: BlobSetTagsOptions): Promise<BlobSetTagsResponse>

Parameters

tags
Tags

Returns

Inherited From BlobClient.setTags

syncCopyFromURL(string, BlobSyncCopyFromURLOptions)

The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.

See https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url

function syncCopyFromURL(copySource: string, options?: BlobSyncCopyFromURLOptions): Promise<BlobCopyFromURLResponse>

Parameters

copySource

string

The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication

Returns

Inherited From BlobClient.syncCopyFromURL

undelete(BlobUndeleteOptions)

Restores the contents and metadata of soft deleted blob and any associated soft deleted snapshots. Undelete Blob is supported only on version 2017-07-29 or later.

See https://docs.microsoft.com/en-us/rest/api/storageservices/undelete-blob

function undelete(options?: BlobUndeleteOptions): Promise<BlobUndeleteResponse>

Parameters

options
BlobUndeleteOptions

Optional options to Blob Undelete operation.

Returns

Inherited From BlobClient.undelete

withVersion(string)

Creates a new BlobClient object pointing to a version of this blob. Provide "" will remove the versionId and return a Client to the base blob.

function withVersion(versionId: string): BlobClient

Parameters

versionId

string

The versionId.

Returns

A new BlobClient object pointing to the version of this blob.

Inherited From BlobClient.withVersion