Windows Azure - Final Updates to PhotoStore App!

Published 29 December 08 04:47 PM | davidlem 

So I wanted to do a round out post on my little blob project, PhotoStore.

Tonight I added the last bit of functionality which was to enable adding a description of the photo and storing it that against the photo as metadata.

image

To recap, here is the functional/service matrix from my app:

App F(x) Platform F(x)
Create Album Create Container
Delete Album Delete Container
List Albums List Containers
List Pictures List Blobs
Show Picture Get Blob
Upload Picture Put Blob
Set Picture Description Set Blob Metadata
View Picture Description Get Blob Metadata

The one area of functionality I did not implement for this sample was the support for large files which would have required the use of the block operations (put block, get block list, put block list), so if you get around to doing that, please drop me a line with the updated BlobRequest.cs file. :)

My next project is to explore the queue service, and in my head, I want to build a sample that demonstrates not only a web role and worker role communicating over the queue service, but also a WPF (or similar RIA/OBA/local machine app) communicating via the queue too.

Happy coding :)

Technorati Tags: ,

Comments

# Windows Azure - Final Updates to PhotoStore App! | Coded Style said on December 29, 2008 1:59 AM:

PingBack from http://www.codedstyle.com/windows-azure-final-updates-to-photostore-app/

# Roger Jennings said on December 29, 2008 11:35 AM:

David,

Tried your app this morning. I could create an album but wasn't able to upload an nominal-size image.

The RestBlobStorateclass's PutLargeBlobImpl() method automatically handles chunking into blocks if the stream is longer than the ChunkingSize (2 MB).

I happen to be working on a similar demo project that uploads local and SkyDrive images.

--rj

# davidlem said on December 29, 2008 2:23 PM:

@rj Hi Roger, I just restarted the service and it seems to working as normal now. Good call on the RestBlobStorage class, I purposely decided on developing my own middleware for blobs from scratch to understand the inner workings, and in that situation, the decision to use blocks needs to be handled in the logic of the code (as in, if size > x use block, if not, use normal put). Thanks for the comment, Dave :)

New Comments to this post are disabled

Search

This Blog

Tags

No tags have been created or used yet.

Other Sites

Syndication

Page view tracker