azurify: A simple library for accessing Azure blob storage

[ bsd3, development, library ] [ Propose Tags ]

An interface for a few basic functions of the Microsoft Azure blob storage. Creating and deleting containers as well as uploading, downloading and breaking leases of blobs is supported.

[Skip to Readme]




Automatic Flags

no xml parsing, and no hxt dependency


don't build the executable


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,,
Dependencies base (>=4.5 && <5), base64-bytestring (>=, bytestring (>=, case-insensitive (>=, cmdargs (>=0.10), conduit (>=, data-default, directory (>=, http-conduit (>=, http-date (>=0.0.2), http-types (>=0.7.0), hxt (>=9.2.2), hxt-unicode (>=9.0.2), network (>=, old-locale (>=, SHA (>=1.5.1), text, time (>=1.4), transformers (>=, unix-compat, utf8-string (>=0.3.7) [details]
License BSD-3-Clause
Author Arno van Lumig
Maintainer Greg Weber <>,
Category Development
Home page
Uploaded by ArnoVanLumig at 2014-09-23T17:29:30Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables azurify
Downloads 7398 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for azurify-

[back to package description]


What's this?

Azurify is an incomplete yet sort-of-functional library and command line client to access the Azure Blob Storage API [1]

The following features are implemented:

  • Creating and deleting containers
  • Listing the contents of a container
  • Downloading blobs
  • Uploading a new block blob
  • Uploading page blobs
  • Deleting a blob
  • Breaking a blob lease

The following features are not implemented (yet):

  • Doing anything else with leases
  • Anything with snapshots
  • Proper error handling

How do I use this?

The cabal file will build a binary called azurify. The following commands are supported:

  • azurify uploadblob path/to/file accountname containername blobname: to upload the local file path/to/file to the specified location;
  • azurify downloadblob accountname containername blobname: to download the specified blob the the current directory;
  • azurify deleteblob accountname containername blobname: to delete the specified blob;
  • azurify breakbloblease accountname containername blobname: to break the lease on the specified blob;
  • azurify listcontainer accountname containername: to output a list of blobs in the specified container;
  • azurify createcontainer accountname containername [accesscontrol]: accesscontrol may be either blobpublic, containerpublic or private. blobpublic means that the blobs will be downloadable by everyone, but the container can't be listed without an access key. containerpublic means that all blobs are downloadable by everyone and that everyone can list the container. private means that the access key is required to download blobs or list the container;
  • azurify deletecontainer accountname containername: delete the container with the given name. It will fail if the container is non-empty, if you want to delete it anyway use --force.

You can also use the library in your Haskell applications, all you need are the functions exported in the azure.hs file.

Can I use this?

Azurify is BSD licensed (see LICENSE) so yes, you can use it.