プライベートノード

概要

プライベートノードとはenebularのアセットの一つであり、フローに組み込んで利用するノードです。 フローについてはFlowsのページを参照してください。 通常、ユーザーはフローを作成する際に、nodered.orgに公開されたノードの中から利用したいノードを見つけてフローに組み込みますが、プライベートノードの仕組みを利用するとユーザーが作成したノードをnodered.orgに公開せずにenebularの中でのみ利用することができます。

ユーザーが開発したプライベートノードを利用するには、プロジェクトのアセットとしてプライベートノードを登録する必要があります。プロジェクトにプライベートノードが登録されている場合、プロジェクト内のフローをWeb Flow Editorやenebular editorで開くと、Node-RED画面のパレットに登録したプライベートノードが表示されます。 ユーザーはパレットに表示されたプライベートノードを利用してフローを作成することができます。 また、作成したフローは、AWS Lambda、heroku、enebular-agentが稼働するデバイスにデプロイして実行することができます。

プライベートノードは、エンタープライズプランのプロジェクトでのみ利用することができます。

プライベートノードの開発

プライベートノードはNode-REDで動作するノードであり、基本的な開発の仕方はNode-REDのノードの作り方と同じです。Node-REDのサイトなどを参考に開発を行ってください。

通常のNode-REDノードの開発と異なる点は、以下の通りです。

  • パッケージ名(package.jsonに記載するnameの値)はenebular-privatenode-contrib-から始まること
  • プロジェクトに同名のパッケージ名のプライベートノードが登録されていないこと
  • パッケージファイルのサイズは2MB以下であること
  • プライベートノードのNode Typeと同名のNode TypeがNode-REDのパレットに存在しないこと

enebularに登録するには、開発したノードのプログラムが配置されたフォルダで以下のコマンドを実行してパッケージファイルを作成してください。

npm pack

実行すると<name>-<version>.tgzファイルが作成されます(name及びversionはpackage.jsonに記載された値です)。

enebularに登録する方法は、プライベートノードの登録を参照ください。

プライベートノードの管理

enebularの画面からプライベートノードの登録更新削除を行うことができます。
画面に沿って提供する機能を紹介します。

プライベートノード一覧画面

enebularにログインするとプロジェクトの一覧が表示されます。 プロジェクトを選択し、サイドメニューのPrivate Nodesをクリックするとプロジェクトに登録されたプライベートノードの一覧が表示されます。

プライベートノードの登録

プライベートノードの登録はアセット一覧画面やプライベートノード一覧画面の右下にある+ボタンをクリックして実施します。 ユーザーは以下の項目を入力します。

項目 説明
Private Node File(tgz) プライベートノードのパッケージファイルです。
Name プライベートノードの名前です。enebular上でプライベートノードを識別するために用います。
Description プライベートノードの説明です。
Privilege デフォルトの権限です。プロジェクトに所属するコラボレータのユーザーの権限はデフォルトでここで設定した権限になります。

Overview画面

アセット一覧画面やプライベートノード一覧画面に表示したプライベートノードをクリックするとOverview画面を表示します。 プライベートノードについて以下の情報を参照することができます。

項目 説明
Package Name プライベートノードのパッケージ名です。アップロードしたパッケージファイルのpackage.jsonファイルに記載されたnameの値がパッケージ名です。
Filename アップロードしたプライベートノードのパッケージファイル名です。
Size アップロードしたパッケージファイルのサイズです。
Integrity パッケージファイルのハッシュ値です。

Updateボタンを押すとパッケージファイルを更新することができます。

また、click to add tagをクリックしてタグの追加を行ったり、追加されたタグを参照したりすることができます。

Access画面

Overview画面の上部のAccessをクリックするとAccess画面を表示します。 この画面では、プライベートノードのアクセス権を設定できます。

Settings画面

Overview画面の上部のSettingsをクリックするとSettings画面を表示します。 この画面では、以下の2項目の変更と、プライベートノードの削除を行うことができます。

  • Name
  • Description

プライベートノードを利用したフローの作成

プライベートノードを利用したフローの作成は以下の環境で行うことができます。

開発環境 バージョン 補足
Web Flow Editor 制約はありません フローのOverview画面にあるEditボタンを押すことにより起動するエディタです
enebular editor 1.0.0以上 enebular editorのリモートモードを利用する場合、enebular-agent 2.15.0以上が必要です

上記環境で開いたフローが所属するプロジェクトにプライベートノードが登録されていた場合、Node-RED画面のパレットにプライベートノードが表示されます。

プライベートノードを利用したフローのデプロイ

プライベートノードを利用したフローのデプロイ方法は、プライベートノードを含まないフローのデプロイと同じですが、デプロイ先に応じて以下の制約があります。

デプロイ対象 バージョン 補足
AWS Lambda 制約はありません
Heroku enebular 2.25.0以上で構築したHeroku環境(enebular-agent-heroku 1.1.2以上) enebular-agent-herokuのバージョンはHerokuの環境変数AGENT_HEROKU_VERSIONの値で確認できます。AGENT_HEROKU_VERSIONが存在しない場合は、enebular 2.25.0未満で作成したHeroku環境です。この場合は、プライベートノードを組み込んだフローをデプロイすることはできません。
enebular-agent 2.15.0以上 ライセンスが付与されていること

※ enebular-edge-agentではプライベートノードを利用することはできません

プライベートノードに対応していないHeroku環境にプライベートノードを含むフローをデプロイするには、Heroku環境の再構築が必要です。
Heroku環境の構築の仕方については、Heroku ボタンでアプリを作成をご確認ください。
Herokuでは、同名のアプリを作成することはできないため、もし同名のアプリを作成する必要がある場合、既存のアプリの名前を変更するなどした上でHeroku環境を構築する必要があります。

フローのデプロイ方法については、Deployを参照してください。

results matching ""

    No results matching ""