Microsoft has released Azure Storage data movement library for .NET as a result of large number of customers requesting programmatic access to AzCopy. The library is based on the core data movement framework that powers AzCopy. Developers will be able to make use of the library for various scenarios such as following
- Uploading, downloading and copying data between Microsoft Azure Blob and File Storage
- Migrating data from other cloud providers such as AWS S3 to Azure Blob Storage
- Backing up Azure Storage data
Zhiming Yuan, Senior Program Manager, Microsoft has provided a sample which demonstrates the steps required to uploaad a blob. You will be able to install the first preview of the library from Nuget or download the source code from GitHub.
The list of features included with Azure Storage Data Movement Library Preview are as following
- Support data transfer for Azure Storage abstraction: Blob
- Support data transfer for Azure Storage abstraction: File
- Download, upload, copy single object
- Control the number of concurrent operations
- Synchronous and asynchronous copying
- Define the number of concurrent operations
- Define the suffix of the user agent
- Set the content type
- Set the Access Condition to conditionally copy objects, for example: copy objects changed since certain date
- Validate content MD5
- Download specific blob snapshot
- Track transfer progress: bytes transferred, number of success, fail, skip files
- Recover (Set/Get transfer checkpoint)
- Transfer Error handling (transfer exception and error code)
- Client-side logging
Azure Storage Data Movement Library is an open source project. Microsoft has invited contributions from the community in the form of extensions.