I am in no way a powershell user, so uploading a simple file to blog storage was surprisingly non-intuitive for me. After I found out how to do it, it is painfully obvious - but not intuitive. So in order for me to have it written down - and for you to use, here is the code:

  1. [System.Reflection.Assembly]::LoadFrom("C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\bin\Microsoft.WindowsAzure.StorageClient.dll")
  2. $account = [Microsoft.WindowsAzure.CloudStorageAccount]::Parse("DefaultEndpointsProtocol=https;AccountName=<youraccountname>;AccountKey=<youraccountkey>")
  3. $client = [Microsoft.WindowsAzure.StorageClient.CloudStorageAccountStorageClientExtensions]::CreateCloudBlobClient($account)
  4. $blob = $client.GetBlockBlob(<blobname>)
  5. $blob.UploadFile(<localpath>)

Make sure to execute these commands within the azure powershell command line.

Replace <youraccountname> with the name of your blob storage account, and <youraccountkey> with the corresponding access key.
<blobname> is the name of the file you want to create in storage. Here is a nice tip for you: If you want to make it look and feel as if there are subdirectories, just name the blob appropriately: "subdirectory/name" would create a blob "name" in the subdirectory "subdirectory". It's more of an convention, but most tools follow this convention.
<localpath> is of the form "c:\temp\testfile.txt"

Hope that helps!