Storage API

Node-REDランタイムがどこにデータを格納するかを 設定するためのプラガブルな方法を提供します。

このAPIは下記の情報を格納します:

  • フロー設定
  • フロークレデンシャル
  • ユーザ設定
  • ユーザセッション
  • ノードライブラリコンテンツ

デフォルトでは、Node-REDはこのAPIのローカルのファイルシステム実装を使用します。

APIの機能は こちら にドキュメントとしてまとまっています。

設定

settings.js内の storageModule プロパティは、 カスタムモジュールを識別するために使用されます:

storageModule: require("my-node-red-storage-plugin")

Promises

APIは JavaScriptのPromise を広く利用しています。

Promiseは非同期処理の最終的な結果を表します。 結果が有効になるまで、プレースホルダーとして振る舞います。

Node-REDは When.js ライブラリを使用しています。 下記が使用例です。より完全な例は red/runtime/storage/localfilesystem.js にある デフォルトのファイルシステム実装です。

function getFlows() {
    // create and return a promise
    return when.promise(function(resolve,reject) {
        // resolve - a function to be called with the successful result
        // reject - a function to be called if an error occurs

        // do some asynchronous work, with a callback on completion
        doAsyncWork(function(err,result) {
            if (err) {
                reject(err);
            } else {
                resolve(result);
            }
        });
    });
}

getFlows()
    .then(function(result) {
        // Called when getFlows completes successfully
    })
    .otherwise(function(err) {
        // Called when getFlows hits an error
    });