はじめに
LogicAppsでの開発が最近多くて、大変です。今回のタイトル「LogicAppsで作るアプリのマスタテーブルは何に保管するのが良いのか」について、簡単に比較してみました
もし、ご意見やご質問などあれば気軽にください。内容は、この先いろいろ検証して更新していくかもです。
候補
主にマスタの格納先として考えられうのは以下候補かと思います。
- AzureTableStorage
- CosmosDB
- AzureFiles + CSV
それでは、ひとつづつ見ていきましょう
AzureTableStorage
柔軟性:★★ (最大★5です)
手軽さ:★★★★★
安さ :★★★★★
私の一番のおすすめはこのTableStorageです。LogicAppsはTableStorageに対して、さまざまなコネクタを持っており、行やテーブルの追加・削除・更新などの基本的な操作が一通り可能です。
柔軟性の低さとしては、クエリのバラエティがやや欠けている点や、Functionsなどと連携する場合は他(特にCosmosDB)と比較して見劣りしてしまいます。
ただし、安くて手軽なので、まずはAzureTableStorageで検討してみるのはいかがでしょうか。
CosmosDB
柔軟性:★★★★★ (最大★5です)
手軽さ:★★★★
安さ :★★★
次点でのおすすめはCosmosDBです。TableStorageで検討してみて、どうしても実現できそうにないときは、CosmosDBを検討してみましょう。ComosDBは豊富なクエリを持っていますので、より柔軟なデータ操作を可能にします。スループットや整合性レベルも自由自在に操作できます。CosmosDBの構築についても、それほど難しくはありません。
コネクタの設定などに関しては以下Docsをご確認ください。
値段ではやはりTableStorage先行かと個人的には思っています。しかし、TableStorageでは要件に合わないときの選択肢としては申し分ないと私は思います。
AzureFiles + CSV
柔軟性:★★ (最大★5です)
手軽さ:★★
安さ :★★
私個人の意見としてはこの構成はできるだけ避けたいところです。柔軟性、構築難易度、価格すべてにおいてセキュリティ上もあまりよろしくはないかと思います。可能な限りCosmosDBかTableStorageで検討をしましょう。それでも、CSVファイルをテーブルとして使いたいケースもあると思います。
例えば、外部のシステムとCSVでマスタを共有しているとか・・・(滅多に見たことないです)
できれば、このケースは一度CosmosDBかTableStorageにデータ取り込みたいです。
参考までに以下記事がとても詳しく手順を載せてくれています。ぜひご参考になさってください