Windows Azure Storage、Table編
さてさて、dotwowは現在cloudに移行中のため現在サイトが動きません。
今回は、AzureのStorageのTableを利用する際の覚え書きです。
まずはQue編の時と同じく、
XMLにコンフィグを記載して、StorageClientを使用すると便利です。
次にContextクラスのラッパーとEntityクラスを作りました。
Contextクラス
public class SampleDataContext : TableStorageDataServiceContext { public SampleDataContext(StorageAccountInfo accountInfo) : base(accountInfo) { } public IQueryable<SampleEntity> SampleEntities { get { return this.CreateQuery<SampleEntity>("SampleEntity"); } } public void AddSampleEntity(SampleEntity entity) { this.AddObject("SampleEntity", entity ); this.SaveChanges(); } }
Entityクラス
public class SampleEntity : Microsoft.Samples.ServiceHosting.StorageClient.TableStorageEntity { public SampleEntity() { } public string Name { get; set; } }
Entityに含まれるPartitionKeyとRowKeyはnullにすることができません。
PartitionKeyは一意である必要があります。
また、:/%あたりの記号が使えないようです?
後はLinqが使えるので非常に楽にクエリーが可能です。
・リレーショナルデータベースを使用できない。
1:多の関係を表すのが少々めんどくさいです。
どうやるのがスマートなんでしょう。
・で、コードを書いてみたのですが単品は取り出せるのですが、
まとめて取り出してforeachなどに使用しようとすると、
The requested operation is not implemented on the specified resource.
ってエラーがでました。
直接はさわれないようです。
もう少し調べます。
・new CloudApp()
いつの間にか国の制限がかかっていた。
いつの間にか締め切りが延びてた。
いつの間にか日本は日本で別のアワードを設けてた。
間に合えばいいなぁ・・・。
http://msdn.microsoft.com/ja-jp/azure/dd939048.aspx
あと、日本語インターフェースでいいんだろうか?