![見出し画像](https://assets.st-note.com/production/uploads/images/114173164/rectangle_large_type_2_9a0bbca6ee928377d46f03368f0adc9d.png?width=1200)
NotionとAzure StorageをLogic Appsで連携その2
おはようございます、いつきです。
前回Logic apps を利用してNotionからデータを取得することまでできました。
今回は、取得したデータをAzure Storageのテーブルに登録・更新する操作をしていきます。
事前にAzure Storageを作成し、テーブルを作成しています。
まず最初にAzure tableに格納する変数を用意します。
![](https://assets.st-note.com/img/1692773353423-8QXtqnvz3O.png?width=1200)
次に、「For each」でNotionから取得したデータを格納し、Azure tableに挿入していきます。※JSONの解析や、Azure tableへの格納は全レコードまとめてやった方が良さそうですが、そこまでできなかったので今回は割愛します…
Notionから取得した1レコードに対して、JSONの解析を行い、各パラメータを変数として利用できるようにしています。
![](https://assets.st-note.com/img/1692773539301-8bAjDY4J4U.png?width=1200)
先に作成した箱にnotionから取得したデータを登録していきます。
![](https://assets.st-note.com/img/1692773623909-pMLOzJR8AT.png?width=1200)
概要に関しては、以下の数式を利用しています。こちらは、JSONの中身を見ながら作成しました。
body('JSON_の解析')?['properties']?['概要']?['title']?[0]?['text']?['content']
最後にAzure tableに格納するアクションを挿入しています。
Azure Storageへの接続については、Azure Storageの名前、テーブル名、アクセスキーを用いて接続しています。
![](https://assets.st-note.com/img/1692773755825-5dlI3LzPgL.png?width=1200)
全体像はこのようになりました。
![](https://assets.st-note.com/img/1692773836211-4zwwXZsZ64.png?width=1200)
ちなみに、Notionのページは100件までしか取得できないようなので、更新がするページ多い場合は時間を分けるか、他の工夫が必要そうです。
実行するとAzure tableに格納されていることがわかります。
![](https://assets.st-note.com/img/1692773927485-JirmtTOvKH.png?width=1200)
本文は、ブロックごとにテキストを取得する必要があるのですが、ブロックで利用している要素(?)によってプロパティが異なります…
そのため、現実的に本文をすべて取得することは難しいです。
私は、Notion AIを活用して、本文を要約した内容をページプロパティにいれてもらうことで回避しましたがちょっと使いにくさがでるかもしれません。
![](https://assets.st-note.com/img/1692833711448-ybs55Zy1cA.png?width=1200)
次回は、これをTeamsやSlackで問い合わせて使ってみようと思います。
それではまた来週!