• Blob Transfer Utility

    by  • March 10, 2013 • English, Windows Azure • 5 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

    5 Responses to Blob Transfer Utility

    1. March 11, 2013 at 5:04 pm

      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!!!

      • March 15, 2013 at 11:58 am

        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!

        • March 20, 2013 at 1:22 am

          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.

    2. Alex
      July 31, 2013 at 1:00 pm

      Whenever I try to do upload to my DevAccount on local machine I get “Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.” The Account I use is devstoreaccount1 and it’s key. Is there something i’m doing wrong?

      • September 12, 2013 at 9:17 pm

        Hi, I’m sorry about that. This tool always use HTTPS and the emulator does not support it (as far as I know). This tool was built to work with a large number of files, that you probably don’t need in your local dev environment. In that case, I suggest you to use the Windows Azure Storage Explorer available on Codeplex (while I don’t fix it).

    Leave a Reply

    Your email address will not be published. Required fields are marked *