Templateノードを使う(その2)

前回に引き続きTemplateノードを使ってみます。

JSON形式のテンプレート

最初のサンプルは「flows > node-red > function > template > 02 - Parse result as JSON」です。Templateノードのプロパティを見てみます。ポイントは以下の2点です。
  • テンプレートがJSON形式で記述されている
  • 出力形式の設定がJSONになっている

実行結果は以下の通りで、msg.playloadにテンプレートが適用されたJSONオブジェクトが格納されていることが確認できます。


期待通りかと思うので、ここはサラッと流して次のサンプルを見てみます。

YAML形式のテンプレート

次のサンプルは「flows > node-red > function > template > 03 - Parse result as YAML」です。先程と同じくTemplateノードのプロパティを見てみます。ポイントは以下の2点です。
  • テンプレートがYAML形式で記述されている
  • 出力形式の設定がYAMLになっている


実行結果は、先程のサンプル02と同じく、msg.payloadにテンプレートが適用されたJSONオブジェクトが設定されます。

ここで違和感があったのが「出力形式」の設定が違っていてもmsg.payloadに設定される結果は変わらないということです。「出力形式」って表現から、msg.payloadにテンプレートを適用した結果の形式がYAMLになるものだと勘違いしていましたが、どうやらそうではなく、テンプレートを適用した結果をどういう形式で扱うかってことみたいです。例えば、HTML形式のテンプレートを書きたい場合は、出力形式を平文に設定しておけばいい感じかもしれません。それにしても、ユーザに選択させる必要性がよくわかりませんでした。自動で認識してよって感じです。

まとめ

まとめます。
  • 「出力形式」はTemplateノードの出力形式を変更するものではなく、テンプレートを適用した結果をどういう形式で扱うか指定するもの
  • 出力形式は平文、JSON、YAMLをサポートしている
  • 利用者に出力形式を選択させる意味がよくわからない(自動で認識して欲しい)


コメント

このブログの人気の投稿

Execノードを使う

SendGridのX-SMTPAPIヘッダの使い方(Section Tags、Substitution Tags編)

Joinノードを使う(その4)