Node-REDでのHello WorldとMSGオブジェクト

17th October 2021 at 8:44pm

いきなり他力本願ですが、Node-REDでの「HelloWorld」は「フローを作成し開発環境で動かしてみる ~ inject・debugノード ~」の動画を参考にしてください。簡潔かつ分かりやすいです。

ノード間のデータのやり取りは、メッセージ(msgオブジェクト)を受け渡すことで行われます。msgオブジェクトの基本的なプロバティは以下の通りです。

payload
・ほとんどのノードが利用するデフォルトのプロパティ
_msgid
・メッセージの識別子
・フローの進行状況を辿ることに利用できる

「基本的」と述べたのは、オブジェクトは任意のプロバティを追加することができるからです

ノードによっては他のプロバティを新規に作成し、そのプロパティに情報を保存する場合もあります。(topic、statusCode、filenameなど)

文章だけでは分かりにくいので、「msg.payloadの説明」の動画を参考にしてください。

あるノードで出力されたpayloadの情報を、他のノードで上書きされないようにするためには、私たちユーザーは「Change」ノードや「function」ノードなどを使って、payloadの情報を別のプロバティにコピーしなくてはいけません。

出力されたメッセージがどのような構造をしているかを、「debug」ノードで知ることができます。「debug」ノードの「対象」において、「msgオブジェクト全体」を選択してください。

以下は、「http request」ノードで「https://www.google.com/?hl=ja」にアクセスした時の出力の例です。

「debug」ノードで確認することは大事ですが、ヘルプも見てください!以下は、「http request」ノードのヘルプです。msg.urlでURLを受け取ることがわかります。

「Node-RED User Group Japan」の以下のページも大変参考になります。
メッセージを利用する
メッセージの設計


HomeへNode-REDの記事Topへ