Node-REDで書き出しと読み込みをやってみる

今回は書き出しと読み込み機能を見ていきます。

シンプルなフローであれば、その内容を紹介するのに一つ一つのノードのプロパティ画面のキャプチャを貼り付けていけばいいのですが、フローが複雑になるとすぐに限界が訪れそうです。書き出しと読み込み機能を使えばフローの内容を簡単に共有できます。

書き出し

まずは書き出し機能を見ていきます。フローエディタに適当にノードを配置したら、画面右上のメニューで「書き出し」を選択します。


書き出す範囲(選択したフロー/現在のタブ/すべてのタブ)と書き出し先(クリップボード/ローカルフォルダ)を選択します。

クリップボードに書き出したものを貼り付けると以下のようにJSON形式で表現されています。これを読み込めば同じフローを別環境で再現できます。

[
    {
        "id": "cad6f983ee9de5e2",
        "type": "tab",
        "label": "フロー 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "1039ae098b363b1d",
        "type": "inject",
        "z": "cad6f983ee9de5e2",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "number",
                "v": "777",
                "vt": "num"
            },
            {
                "p": "boolean",
                "v": "true",
                "vt": "bool"
            },
            {
                "p": "json",
                "v": "{\"key\":\"value\"}",
                "vt": "json"
            },
            {
                "p": "buffer",
                "v": "[48,49,48,49,48,49]",
                "vt": "bin"
            },
            {
                "p": "datetime",
                "v": "",
                "vt": "date"
            },
            {
                "p": "jsonata",
                "v": "hoge",
                "vt": "jsonata"
            },
            {
                "p": "env",
                "v": "HOME",
                "vt": "env"
            },
            {
                "p": "msgid",
                "v": "_msgid",
                "vt": "msg"
            },
            {
                "p": "longtext",
                "v": "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよわをん",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "00 12 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "Hello World!",
        "payloadType": "str",
        "x": 150,
        "y": 60,
        "wires": [
            [
                "3d75809c46e7737f"
            ]
        ]
    },
    {
        "id": "3d75809c46e7737f",
        "type": "debug",
        "z": "cad6f983ee9de5e2",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "longtext",
        "statusType": "msg",
        "x": 350,
        "y": 60,
        "wires": []
    }
]

読み込み

先程書き出したフローを読み込んでみます。説明するまでもないと思いますが、メニューで「読み込み」を選択します。


クリップボードまたはローカルファイルから読み込むことができます。今回はお手軽にクリップボードから読み込みます。クリップボードにコピーしたJSON形式のフローデータを画面内に貼り付けて「読み込み」を選択するとフローがエディタ上に表示されます。


ちなみに、「サンプル」はNode-REDが用意しているもので、使い慣れていないノードの挙動を手っ取り早く把握するのに便利そうです。

まとめ

わざわざ説明するほどのこともないくらい簡単な機能ですが、今後このブログでフローを共有する際はJSONファイルを晒しますので、上記手順で読み込んでみてください。



コメント

このブログの人気の投稿

Execノードを使う

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

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