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

 9th March 2023 at 11:28pm

いきなり他力本願ですが、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へ