Node-REDのパレットには、フローを作成するための基本的な構成要素であるデフォルトのノードが一通り含まれています。 このページでは知っておくべきコアノードについて取り上げます。
すべてのノードは、ノードを選択した際にInfoサイドバーで確認できるドキュメントを含んでいます。
Injectノードは、エディタ内でこのノードのボタンをクリックすることで 手動でフローを始動させることができます。 一定間隔で自動的にフローを始動させることもできます。
Injectノードから送出されるメッセージには、
そのpayload
およびtopic
プロパティを設定することができます。
payload
には様々な型を設定することができます。:
interval
は最大596時間(約24日)に設定できます。
1日よりも長いインターバルを設定したい場合、停電や再起動に対応できるスケジューラノードの使用を検討してください。
「指定した時間間隔、日時」と「指定した日時」オプションを一般的なcronシステムとして利用します。これは、ここでの20分は次の正時、そこから20分後、40分後を指すのであって、20分後ではないということです。もし、今から20分ごとにおこないたい場合、「指定した時間間隔」を使います。
Node-RED 1.1.0から、Injectノードはメッセージに全てのプロパティをセットできます。
Debugノードは、エディタ内のDebugサイドバーにメッセージを表示させることができます。
このサイドバーは送られてきたメッセージを構造的なビューで表示し、 メッセージを探し出しやすくします。
各メッセージと並んで、 Debugサイドバーにはメッセージを受信した時刻とそのメッセージを送出したDebugノードの情報が含まれています。 ソースノードIDをクリックするとワークスペース内のどのノードなのかがわかります。
ノードのボタンは、出力の有効化無効化を制御するために使用します。 利用していないDebugノードは無効化したり、削除したりすることを推奨します。
また、このノードはランタイムログにすべてのメッセージを出力したり、 Debugノードの下に短い(32文字)のステータステキストを表示させたりすることができます。
メッセージを利用するページでは Debugサイドバーの使い方について更なる情報を提供しています。
Functionノードは、 受け渡されるメッセージに対するJavaScriptコードの実行を可能にします。
Functionノードを利用するための素晴らしいガイドは、こちらにあります。
Changeノードは、Functionノードに頼ることなく、 メッセージプロパティを変更したり、コンテキストプロパティを設定したりすることができます。
各ノードには、順番に適用される複数の操作を設定することが可能です。 利用できる操作は以下のとおりです。:
プロパティを設定する際にはJSONata式の結果を設定することもできます。 JSONataは、JSONデータに対する軽量なクエリかつ変換言語です。
Switchノードは各メッセージに対して一連のルールで評価し、 メッセージを異なるフローにルーティングすることができます。
このノードには、 評価するプロパティ(メッセージプロパティまたはコンテキストプロパティ)を設定します。
ルールには以下の4種類があります。:
true
の値を返した場合に一致したとみなすことができますこのノードは、一致したルールに応じた出力先すべてに対してメッセージを送出します。 しかし、一致するルールがあった時点で評価をやめるように設定することもできます。
Templateノードは、メッセージプロパティをテンプレートに設定することで テキストを生成することができます。
このノードでは、 Mustache記法を利用することができます。
例えば、テンプレートを以下のようにします。:
This is the payload: {{payload}} !
{{payload}}
はメッセージのpayload
プロパティの値に置換されます。
デフォルトではMustache記法は特定の文字をHTMLエスケープ文字コードに置換します。
これを防ぐためには、3つの波括弧を利用することができます。: {{{payload}}}
.
Mustache記法は単純なループをサポートしています。
例えば、msg.payload
が名前の配列を有していた場合(["Nick", "Dave", "Claire"]
のような)、
以下のテンプレートによって名前のHTMLリストを生成することができます。:
<ul>
{{#payload}}
<li>{{.}}</li>
{{/payload}}
</ul>
<ul>
<li>Nick</li>
<li>Dave</li>
<li>Claire</li>
</ul>
このノードはテンプレートの結果を設定されているメッセージまたはコンテキストプロパティに代入します。 もしテンプレートが適切なJSONやYAMLコンテンツを生成する場合、 生成物をJavaScriptオブジェクトにパースするように設定できます。
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy