Blob Transfer Utility
by Vitor Ciaramella • March 10, 2013 • English, Windows Azure • 3 Comments
When I use the Windows Azure Blob Storage in my projects or my partners’ (which I do a lot), one of my best companion tools is the Azure Storage Explorer (http://azurestorageexplorer.codeplex.com).
It can do many useful things like creating and setting permissions on containers, upload and download blobs, edit blobs metadata and so on.
However, it make me cry when I want to upload or download lots of blobs, specially when files have hundreds of MB.
Recently, I was helping one of my partners in moving their thousands of video-on-demand files to the blob storage and there was no simple and productive way of doing that without writing a tool to do it.
And I love to write tools
As a hobby, I created the “Blob Transfer Utility”, a tool that is made to handle thousands of blob operations in a simple and productive way.
You create a queue of download or upload operations, and assign multiple workers to do it in parallel. Even files, larger than 1MB will be split in smaller parts to be transferred in parallel (thanks to Kevin Williamson).

Attention! The following binaries and source-code are not made by Microsoft and are not supported by Microsoft. It’s just a (very useful) sample.
You can download the binaries here: http://vitorciaramella.blob.core.windows.net/public/BlobTransferUtility_Binaries.zip
And the sources here: http://vitorciaramella.blob.core.windows.net/public/BlobTransferUtility_Sources.zip
Due to high interest and demand for this, I moved it to CodePlex: https://blobtransferutility.codeplex.com/
There is no guarantee, but let me know if you have any issues or suggestions.
Happy blobing,
Vitor Ciaramella
Good job VItor, this will be very useful in my actual project!!! Congratulations and thank you for share this great app with all of us!!!
l visited Codeplex, and found the source code very elegant/nicely written.
To be honest, it is so clean/modular that I can easily incorporate it at so many places — even run it as unattended Powershell task through scheduler with minimum of effort!
Thank you, Fakher. I was planning to make some improvements by putting the main worker logic in a reusable assembly, and you just gave me a reason to do that sooner and enable other front-ends aside the WPF. I let you know when it’s done.