Azure Blob Uploader
|
Azure Blob Uploader aims at developing an efficient way of uploading large size blobs, as blocks of data to the Windows Azure Blob storage. If the upload fails in the middle, the tool should resume the upload from where it failed (rather than starting over).
The biggest problem with huge file arises when your internet gets disconnected in the middle of uploading process. Azure Blob Storage will resume the upload where it left off, thus making it easier for your file to be uploaded successfully.
Solution Approach
The file to be uploaded is broken down into individual blocks. Each block has a specified size (as specified by the user), and is specified by a unique ID. Each block is scoped by a blob name (which is same as the file name). The upload process uploads each block individually and maintains the information of the current uploading position (specified by the stream position in bytes) in an XML file (uploadmetadata.xml created in the directory from which the tool executable was invoked). Following is a sample of this XML file:
A GUI based tool has been developed. The tool required the following input from the user:
1. Account Name: Windows Storage account name
2. Account Key: Windows Storage account key
3. URI: Endpoint URI of the BLOB storage service
4. Container Name: BOB Storage container, where the blob needs to be uploaded to. The tool creates the container if it does not exists
5. Input File: The name of the file to be uploaded.
6. Block Size: The size of each individual block
When the user populates all the fields and clicks on the Upload button, the upload process starts. The current status of the upload can be seen in the status progress bar.
The license of this software is Free, you can free download and free use this network utility software.