LoginSignup
3
3

More than 3 years have passed since last update.

Node-RedからAzure Logic Appsを呼び出す

Last updated at Posted at 2019-12-13

概要

Node-RED、本当に便利ですよね。
PoCでサクッとシステム作るときなんか、めちゃめちゃ重宝してます。
クラウド側もなるべくコーディングレスでやりたいので、
Azure Logic Appsを使っています。

今回はエッジ側をNode-RED、クラウド側をAzure Logic Appsで組んだシステムを例に
その手順を紹介します。

システム構成

実際に過去に行ったPoCを題材にしたいと思います。
部屋にいくつかの温度センサーを置いて、
それをクラウド上のデータベースに保存しています。

image.png

※データの可視化については、Power BIでIoTデータの可視化(初級編)を参照してください。

手順

データフォーマットを決める

Node-REDからLogic Appsに送信するデータ構造を決めておきます。
今回は以下のJSONフォーマットでデータをやり取りすることにします。
image.png

Logic Apps

エッジ側のNode-Redからデータを受け取るLogic Appsを作成、設定していきます。

1. Azure Portalにログインし、ホーム画面で「リソースの作成」をクリックします。
image.png

2. 検索枠に「Logic App」と入力して検索し、結果から「Logic App」をクリックします。
image.png

3. 作成をクリックします。
image.png

4. 必要な情報を入力し、作成をクリックしてください。
image.png

5. 作成が完了したら、Logic Appsのデザイナーを表示し、「一般的なトリガーで開始する」の中の「HTTP要求の受信時」をクリックします。
image.png

6. 以下のような画面が表示されます。「サンプルのペイロードを使用してスキーマを生成する」をクリックします。
image.png

7. 先に決めたJSONデータを貼り付けます
image.png

8. JSONスキーマが自動生成されました。
image.png

9. この後、本来は受信したデータを処理するフローを作成するのですが、それはまた別の機会に。ここで一旦フローを保存します。
image.png

10. HTTP要求を受け付けるURLが自動生成されるので、コピーボタンをクリックしてコピーします。
image.png

11. 実行をクリックします。これでNode-REDからデータを受け取る準備ができました。
image.png

Node-RED

Node-REDは、ラズパイ用OSであるRaspbianにプリインストールされているものを使いました。
作成したフローはこんな感じのごく簡単なものです。
image.png

①5分に1回起動
②温度センサー(2JCIE-BL01)からBluetoothでデータを読み出し
③送信データを生成
④Logic Appsにデータ送信
⑤結果をデバッグ出力

今回はLogic Appsに絡む部分のみ説明します。
④のLogic Appsへのデータ送信には、「http request」ノードを利用します。
image.png

設定はこんな感じです。
メソッドはPOSTで、URLは先に控えておいたURLを設定してください。
image.png

実行結果

Node-RED側をデプロイして、実行結果を確認します。
Azure Logic Appsのブレードから概要を選択し、一番下の実行の履歴をクリックします。
image.png

そうすると、下記のように送信されてきたデータが確認できます。
image.png

まとめ?

ということで、Node-REDからAzure Logic Appsを呼び出す手順を記載しましたが、
Node-RED側は単純にHTTP Requestを実行するだけになっています。
結果、手順のほとんどはAzure Logic Appsの内容になってしまいました(笑)。

なお、Logic Appsの呼び出し時のセキュリティについては、下記を参照ください。
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-securing-a-logic-app

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3