テーブルストレージに書き込む方法はやったので次は読み込みをやってみたいと思います。 テーブルからデータを読み込むには、Table属性のついたIQueryableを引数に受け取ります。 このIQueryableにクエリを発行することで、テーブルからデータを取ってこれます。
コードはこんな感じ。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Azure.WebJobs; using System.Configuration; using Microsoft.WindowsAzure.Storage.Table; namespace HelloWorld { publicclass Functions { // This function will get triggered/executed when a new message is written // on an Azure Queue called queue.publicstaticvoid ProcessQueueMessage([QueueTrigger("queue")] string message, [Table("sample")] ICollector<Person> sample) { // 前回のコードなので省略 } // テーブルの読み込みpublicstaticvoid ReadTableDatas( [QueueTrigger("readtablequeue")] string message, [Table("sample")] IQueryable<Person> query, TextWriter log) { foreach(var p in query.Where(x => x.PartitionKey == message)) { log.WriteLine(p.Name); } } } publicclass Person : TableEntity { publicstring Name { get; set; } } }
readtablequeueに対してメッセージを投げると、そのPartitionKeyのNameをログに吐き出します。
やべぇ便利だ。