Windows Azure : Using the Blob Storage API

10/12/2010 4:02:09 PM
Like all of the Windows Azure storage services, the blob storage service is accessible over a highly available, publicly accessible REST API. Let’s take a look at how this works with the blob storage API.

All API access is through HTTP operations on a storage account URI. For the Windows Azure blob storage service, that URI is of the form http://<accountname><container-name>/<blob-name>. For example, when accessing (you can go ahead and access that URI in your browser now), “sriramk” is the storage account, “test” is the container, and “helloworld.txt” is the name of the blob.

API access falls into two categories:


Any operation that creates, modifies, or deletes anything must be authenticated. In short, you sign the request with an HMAC of your secret key, which the storage service verifies on its side by trying to construct the same signature.


Unauthenticated requests are allowed for read operations if the container they’re operating on has “full public read access” turned on or read access for blobs turned on (the other visibility option, “no public read access”). These requests can just be normal HTTP GETs, and can be issued from any dumb HTTP client (browsers are the key consumers here). Sometimes you might find yourself being forced to make a container public if your client of choice doesn’t support modifying HTTP headers. An example would be early Silverlight versions that didn’t support adding headers and, hence, users couldn’t perform authenticated requests. Shared access signatures are useful in this case.

When you access through code, the URI goes through some DNS redirection and resolves to an IP address in a Microsoft data center; e.g., the previous example machine called currently would redirect to through a DNS CNAME, and resolve to

Note: It is important to not store these directly in your code, and to always deal with only the properly formatted URIs. These DNS redirects and IP addresses are internal implementation details, and can change from time to time. In fact, the DNS redirection did change when support for multiple geolocations was added.
  •  Windows Azure : Blobs - Usage Considerations
  •  Windows Azure : Understanding the Blob Service
  •  Design and Deploy High Availability for Exchange 2007 : Design Edge Transport and Unified Messaging High Availability
  •  Design and Deploy High Availability for Exchange 2007 : Design Hub Transport High Availability
  •  Design and Deploy High Availability for Exchange 2007 : Design CAS High Availability
  •  Design and Deploy High Availability for Exchange 2007 : Create Bookmark Create Note or Tag Implement Standby Continuous Replication (SCR)
  •  Windows Server 2008 : Utilize System Center VMM
  •  Windows Server 2008 : Create Virtual Hard Drives and Machines
  •  Windows Server 2008 : Manage Hyper-V Remotely
  •  Windows Server 2008 : Install the Hyper-V Role
  •  Windows 7 : Rolling Back to a Stable State with System Restore
  •  Windows 7 : Configuring System Protection Options
  •  Windows 7 : Using the Windows Backup Program
  •  Active Directory Federation Services (ADFS)
  •  Active Directory Rights Management Service (RMS)
  •  Active Directory Lightweight Directory Service (LDS)
  •  Windows Server 2003 : Securing and Troubleshooting Authentication
  •  Windows Server 2003 : Managing User Profiles
  •  Windows Server 2003 : Creating Multiple User Objects
  •  Windows Server 2003 : Creating and Managing User Objects
    Top 10
    Synology Disk Station DS412+ - Speedy Four-Bay NAS
    Western Digital Black 4TB Hard Drive - 4TB Storage Goes Mainstream
    Gear - Cutting Edge Technology (Part 2)
    Gear - Cutting Edge Technology (Part 1)
    Sony VAIO Duo 11 – All Things To All People
    The Dell XPS Duo 12 Hybrid Ultrabook - A Swiveling Good Start
    Sony Xperia ion - A Big Slice Of Smartphone
    Coby Kyros 9.7 - Deals Best Tablets On Sale 2013
    ASUS Orion Pro Gaming Headset - Jack of both trades
    Klipsch Image A5i Sport In-Ear Headphones
    Most View
    How did Webs put the world on maps? (Part 1)
    Windows Phone 7 Advanced Programming Model : Advanced Data Binding (part 2) - Syndicated Services
    Choose your cases : Casecom 6630
    Windows 7 : Detecting and Resolving Computer Problems (part 1) - Solving the Tough Problems Automatically
    Windows 7 : Working with the Windows Firewall (part 2) - Configuring Security for the Basic Windows Firewall & Troubleshooting the Basic Windows Firewall
    Pioneer HTZ-818BD – Lots of Feature
    Windows Server 2003 : Configuring a Windows IPSec Policy (part 4) - Using Group Policy to Implement IPSec, Monitoring and Troubleshooting IPSec
    Samsung 900X4C - Small, Sleek And Stylish
    Angry Bomber
    Tweetbot - Tasty Tweets
    Promote Your Photography (Part 2)
    Linux Mint 14: Nadia - Fancy A Minty Fresh Linux Distro?
    Sigma Released The World's First 1:1 180mm F2.8 Macro Lens
    Visual Studio 2010 IDE : Customizing Visual Studio 2010
    Pimp Your Pad (Part 2) - Cross connections
    Mobile Application Security : Mobile Geolocation - Geolocation Methods & Geolocation Implementation
    Managing Exchange Server 2010 : The Exchange Control Panel (ECP)
    Windows 7: Managing Software Once It’s Installed (part 2) - Viewing and Managing Currently Running Programs
    Troubleshooting Windows 7 Programs and Features
    Automatic Windows Fixes (part 1)