BlobPorter is a data transfer tool for Azure Blob Storage that maximizes throughput through concurrent reads and writes that can scale up and down independently.
Sources and targets are decoupled, this design enables the composition of various transfer scenarios.
From/To | Azure Block Blob | Azure Page Blob | File (Download) |
---|---|---|---|
File (Upload) | Yes | Yes | NA |
HTTP/HTTPS* | Yes | Yes | Yes |
Azure Block Blob | Yes | Yes | Yes |
Azure Page Blob | Yes | Yes | Yes |
S3 Endpoint | Yes | Yes | No |
* The HTTP/HTTPS source must support HTTP byte ranges and return the file size as a response to a HTTP HEAD request.
- Blob to Block Blobs transfers use the Put Block from URL API.
- Proxy support.
- Minor fixes and performance improvements.
- Upgrade to Go 1.11
If you have a question or find a bug, open a new issue in this repository. BlobPorter is an OSS project maintained by the contributors.
If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.