Project Description
Azure Blob Drop watches a local file folder (or several) and passes on any file changes (creates, updates, deletes) to a blob container in Windows Azure Storage account. Just "dump" files into a folder (such as content for a web site) and they will get uploaded to the cloud.

Blob Drop is a Windows Service that monitors a file folder and pushes file changes up to a blob container in Windows Azure Storage. Currently, this sync is only in one direction, up to the cloud.

Here's how Blob Drop works:
  • Configuration: the folder to watch, blob storage account to use, and blob container are specified in the config file for the service.
  • Initial Sync: upon initializing, blob drop will scan the folder it is configured to watch and see if any files in it are missing in the blob container - if there are, it queues upload tasks for itself.
  • Ongoing Sync: Blob Drop watches for file events on the drop folder (file creates, updates, renames, deletes) and queues corresponding upload or delete tasks for itself.
  • A pool of background worker threads handle queued tasks, such as uploading a file or deleting a blob.


Blob Drop Service

To install the service, run installutil BlobDropService.exe from a command window. After installation the service will be visible in the Services control panel. By default, the user is LocalSystem and start-up is Manual. To uninstall, run installutil -u BlobDropService.exe from a command window.

BlobDropService.png


Blob Drop Command

There is also a console command edition of Blob Drop. It can do what the service does, with the added benefit that you can see activity on the console (see below). You can also run the console command with an option to just do an initial sync and exit. With the command line edition, you can use config-based parameters or specify them on the command line.

BlobDrop -r
BlobDrop -r <folder> <storageAccountName> <storageAccountKey>

BlobDrop -r runs the service as a console app, with visible display of activity. If parameters are specified on the command line, they are used in place of configuration settings.

BlobDropConsole1.png

As files are added, changed, or deleted from the drop folder, file events are detected and blob actions are triggered.

BlobDropConsole2.png

If BlobDrop encounters file system errors, blob storage errors, or file-in-use errors, it will dutifully retry the operation a number of times before giving up.

BlobDropConsole3.png


BlobDrop -s
BlobDrop -s <folder> <storageAccountName> <storageAccountKey>

BlobDrop -s runs an initial sync and then exits.


BlobDrop -h

BlobDrop -h or -? displays help.


Release Notes

This is the initial drop of Blob Drop. As Blob Drop is new and has not yet been heavily tested - please treat this as prototype code and protect your data.

Blob Drop is a community donation from Neudesic, a Microsoft national systems integrator partner.
http://www.neudesic.com

For support or inquiries, contact David Pallmann at his blog
http://davidpallmann.blogspot.com

Last edited Mar 29, 2012 at 9:47 PM by dpallmann, version 4