Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Azure WebJobsからテーブルにデータを書き込む

$
0
0

Table属性にテーブル名を指定してICollectorインターフェースを引数に渡してやればOKです。 ICollectorインターフェースの型引数はTableEntityあたりを拡張した型であればOKです。(自前でRowKeyとかPartitionKeyとか定義した型でもOK)

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)
        {
            for (int i = 0; i < 100000; i++)
            {
                sample.Add(new Person
                {
                    PartitionKey = message,
                    RowKey = $"{DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ")}-{i}" ,
                    Name = $"okazuki {i}"
                });
            }
        }
    }

    publicclass Person : TableEntity
    {
        publicstring Name { get; set; }
    }
}

これでキューにメッセージが追加されたら延々と10万件データを作る処理が出来ます。

こんな感じでキューにメッセージを追加すると

f:id:okazuki:20160203215410p:plain

こんな感じにテーブルにデータが追加されます。

f:id:okazuki:20160203220449p:plain


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>