LT;DR
- なんかいっつもAzure Table Storage の SDK なに使っていいかわからんくなる(雑魚
- とりあえず、最新のSDKはここ確認しに行け
本編
Table Storage いじるときの SDK の選び方
.NET や Nugetで提供されている Azure Table Storage 用の SDK の推奨がバージョンによってコロコロ変わっている気がして、いっつもどれ使うのがいいのか忘れるのでメモです。
Azure Storage Account のなかでも、Queue とか Blob とは なんか別であるんですよねえ…
結論から言うと、MS の公式リファレンスをたどって、しっかり確認しろってことですね。
リファレンスをたどると、ここから最新の推奨SDKが確認できるようでした。
2022-08-06 現在の SDK Availability はこうなってるらしいです。
筆者は仕事と趣味ではC#なので、.NET のパッケージを確認します。
なるほど Azure.Data.Tables とな。
どうしよう、正直これ使ったことないぞw
なので、最低限読み書きできるくらいまで遊んでおいて、迷走しないようにメモしておきます。
C# のサンプル
って思ったけど、特に書くことなかったw
Microsoft.Azure.Cosmos.Table とかか使うとクッソいろいろ書かないといけなかったけど、なんも考えずに使えました。
マジで書くことありませんでした(爆)
using Azure;
using Azure.Data.Tables;
namespace Program
{
public static class Program
{
public static void Main(string[] args)
{
var connectionString = @"接続文字列";
var tableName = "SampleTable";
var client = new TableClient(connectionString, tableName);
var sampleEntities = new SampleEntity[]
{
new SampleEntity("sample", "0001", "山田 太郎", "静岡県浜松市北区xxx-xxx", "053-523-0000"),
new SampleEntity("sample", "0002", "山本 次郎", "静岡県浜松市北区yyy-yyy", "053-999-0000"),
new SampleEntity("sample", "0003", "山下 三郎", "静岡県浜松市北区zzz-zzz", "053-888-0000"),
};
client.CreateIfNotExists();
foreach (var entity in sampleEntities)
{
client.AddEntity(entity);
}
}
}
public class SampleEntity : ITableEntity
{
public SampleEntity(string partitionKey, string code, string userName, string address, string tel)
{
PartitionKey = partitionKey;
RowKey = code;
UserName = userName;
Address = address;
Tel = tel;
}
public string PartitionKey { get; set; }
public string RowKey { get; set; }
public DateTimeOffset? Timestamp { get; set; }
public ETag ETag { get; set; }
public string Code
{
get => RowKey;
}
public string UserName { get; set; }
public string Address { get; set; }
public string Tel { get; set; }
}
}
これ走らせれば、サンプルで作った Entities が Table に書き込まれます。簡単すぎ
おしまい。
コメント