New Copy APIs for efficient data copy in Azure Blob Storage
Posted on 20 August 2019
Now available is a set of APIs that primarily helps increase efficiency in copying data from any URL to Azure or inside Azure. The APIs include:
These APIs enable server-side synchronous copy of data from any URL source into either a block blob, page blob or as an append blob. The benefits of these APIs include:
- Server-side data transfer. The data transfer is performed server-side, meaning the data is read directly from the source by the destination server in Azure. The data is not flowing through the caller, so you do not need a VM with CPU, memory and network capacity to move the data. You can get away with using a relatively small VM that just orchestrate the data transfer.
- Synchronous data transfer. Each call is performed synchronously, meaning the data transfer is complete when the call returns. This is unlike the existing asynchronous cross-account copy blob API, which is a scheduled background process where you need to regularly check if its complete.
- Any data source. The data source can be any data addressable by a URL, meaning you can copy data from inside or outside of Azure. Further it can be from any blob type to any blob, e.g. reading from a page blob and writing to a block blob.
These APIs enable scenarios like account to account data copy, blob concatenation by combining several smaller blobs into a new larger blob, and conversion of blob types.