Jeg har udviklet en op imod Azure idag, eller det vil sige den lokale version af Azure. Jeg er igang med at projekt hvor jeg skal gemme noget data i table storage under Azure og i den forbindelse har jeg gjort et par interessante fund i det nyeste SDK (november 09).
Jeg har bla. stiftet bekendskab med en total misledende exception der siger noget ala “An error occured while processing the request”. Dens inner exception var en helt anden, men gav mig ikke meget hjælp - “One or more inputs is not valid”.
Hmm. Hvad mon det kan være ? Jeg forsøger at at forespørge på noget data i en tom tabel, og i forbindelse med en test af om jeg får det retur jeg ønsker bliver jeg ved med at få denne underlige fejl. Så snart jeg har data i min tabel er der ingen problem og ingen fejl, men det kan jeg altså ikke leve med.
Jeg fandt ud af at når man udvikler op imod Azure lokalt, så bliver skemaet for ens datastruktur først oprettet ved første Insert i ens tabel. Husk det. Du bliver nødt til at have data i din tabel før du kan forespørge ned i den. Husk også at det kun er tilfældet når du udvikler lokalt og ikke imod din data storage på azure.com.
Det næste jeg fandt ud af er at det navn du giver dit “entity set” er case-senistivt. Når jeg f.eks skriver CamEndpoints, og ikke CamEndPoints, så spørger jeg altså ned i en tabel som ikke eksisterer, men jeg får ikke at vide den ikke eksistere, jeg får blot ovenstående exception – igen!
2 gode learnings som du selv kan tage med når du udvikler din næste Azure app :)