Managed APIを使ってStorageを操作していると、どうもRESTで
あることを忘れがちなんですけど、RESTだよということを理解
してないと、アレって思うことがあります。(って自分だけかも)
サンプルは、以下の動作をしていますが、結果は取得できません。
- workキューを作成して、SetMetdata
- 再び、workキューのインスタンスを作成してMetadataをアクセス
var queueClient = account.CreateCloudQueueClient(); var queue = queueClient.GetQueueReference("work"); queue.CreateIfNotExist(); // メタデータの設定 queue.Metadata.Add("a", "abc"); queue.Metadata.Add("b", "efg"); queue.Metadata.Add("c", "hij"); queue.SetMetadata(); var queue2 = queueClient.GetQueueReference("work"); Console.WriteLine ("a = " + queue2.Metadata.Get("a")); Console.WriteLine ("b = " + queue2.Metadata.Get("b")); Console.WriteLine ("c = " + queue2.Metadata.Get("c"));
ご覧の通り。
a =
b =
c =
これは、キューへのリファレンスクラスを作っただけ何で、この
時点では何もクラウド側とは通信していないから、情報が取得
できないのは、あたりまえなんですよね。
でも、ローカルなリソースをアクセスすることになれていると、
設定した情報が入っていなくてアレ?と思いがち。
(自分だけかも)
結局は、FetchAttributeすると、クラウド側にアクセスにいって
Attribute/Metadataあたりのデータが設定されるわけです。
var queue2 = queueClient.GetQueueReference("work");
queue2.FetchAttributes();
a = abc
b = efg
c = hij