Copy a blob with TypeScript

This article provides an overview of copy operations using the Azure Storage client library for JavaScript and TypeScript.

About copy operations

Copy operations can be used to move data within a storage account, between storage accounts, or into a storage account from a source outside of Azure. When using the Blob Storage client libraries to copy data resources, it's important to understand the REST API operations behind the client library methods. The following table lists REST API operations that can be used to copy data resources to a storage account. The table also includes links to detailed guidance about how to perform these operations using the Azure Storage client library for JavaScript and TypeScript.

REST API operation When to use Client library methods Guidance
Put Blob From URL This operation is preferred for scenarios where you want to move data into a storage account and have a URL for the source object. This operation completes synchronously. syncUploadFromURL Copy a blob from a source object URL with TypeScript
Put Block From URL For large objects, you can use Put Block From URL to write individual blocks to Blob Storage, and then call Put Block List to commit those blocks to a block blob. This operation completes synchronously. stageBlockFromURL Copy a blob from a source object URL with TypeScript
Copy Blob This operation can be used when you want asynchronous scheduling for a copy operation. beginCopyFromURL Copy a blob with asynchronous scheduling using TypeScript

For append blobs, you can use the Append Block From URL operation to commit a new block of data to the end of an existing append blob. The following client library method wraps this operation:

For page blobs, you can use the Put Page From URL operation to write a range of pages to a page blob where the contents are read from a URL. The following client library method wraps this operation:

Client library resources