プライベートノードとは
概要
プライベートノードはenebularのアセットの1つであり、フローに組み込んで利用するノードです。 フローについてはFlowsのページを参照してください。 プライベートノードの仕組みを利用することで、nodered.orgにノードを公開せずに、ユーザーが作成した独自のノードを利用できます。
ユーザーが開発したプライベートノードを利用するには、プロジェクトのアセットとしてプライベートノードを登録する必要があります。プロジェクトにプライベートノードが登録されている場合、プロジェクト内のフローをWeb Flow Editorやenebular editorで開くと、Node-RED画面のパレットに登録したプライベートノードが表示されます。 ユーザーはパレットに表示されたプライベートノードを利用してフローを作成できます。 また、作成したフローは、AWS Lambda、heroku、enebular-agentが稼働するデバイスにデプロイして実行できます。
また、ユーザが開発したプライベートノードは、Discoverに公開して他のユーザと共有できます。 Discoverに公開されたプライベートノードを利用したいユーザは、そのプライベートノードをプロジェクトにインポートして利用します。
プライベートノードの開発
プライベートノードはNode-REDで動作するノードであり、基本的な開発の仕方はNode-REDのノードの作り方と同じです。Node-REDのサイトなどを参考に開発を行ってください。
通常のNode-REDノードの開発と異なる点は、以下の通りです。
- パッケージ名(package.jsonに記載するnameの値)は
enebular-privatenode-contrib-
から始まること - プロジェクトに同名のパッケージ名のプライベートノードが登録されていないこと
- パッケージファイルのサイズは10MB以下であること
- プライベートノードの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 | プライベートノードの説明です。 |
Default Privilege | デフォルトの権限です。プロジェクトに所属するコラボレータのユーザーの権限はデフォルトでここで設定した権限になります。(詳しくは Accessをご覧ください) |
Overview画面
アセット一覧画面やプライベートノード一覧画面に表示したプライベートノードをクリックするとOverview画面を表示します。 Overview画面では以下の情報を参照できます。
項目 | 説明 |
---|---|
Package Name | プライベートノードのパッケージ名です。パッケージ名とは、アップロードしたパッケージファイルのpackage.json ファイルに記載されたnameの値です。 |
Package Version | プライベートノードのパッケージバージョンです。パッケージバージョンとは、上記package.json ファイルに記載されたversionの値です。 |
From | プライベートノードの登録元を表します。以下の3種類があります。 ・upload: プロジェクトにアップロードして登録したプライベートノード ・Discover (Free): Discoverからインポートした無料プライベートノード ・Discover (Paid): Discoverからインポートした有料プライベートノード |
Filename | アップロードしたプライベートノードのパッケージファイル名です。 |
Size | アップロードしたパッケージファイルのサイズです。 |
Updateボタン
Update
ボタンを押すとパッケージファイルを更新できます。
パッケージファイルを更新するには、package.json
ファイルに記載したversionが、登録中のversionより上がっている必要があります。
登録元がupload
以外の場合は更新できません。
Publishボタン
プライベートノードをDiscoverに公開できます。公開できるプライベートノードは、登録元がupload
のプライベートノードだけです。
新規パブリッシュの場合
プライベートノードをDiscoverに公開できます(パブリッシュの仕方についてはDiscoverの説明もご参照ください)。
Publish
ボタンを押すと、Name、Description、Free(無料)/Paid(有料)の種別を入力する画面が表示されます。
Freeを選択するとすぐにDiscoverに公開します。Paidを選択するとすぐにDiscoverに公開せず、ウフルから有料での公開に向けた契約を行うためにご連絡します(注1)。
契約が締結したら、プライベートノードをDiscoverに公開します。
プロジェクトに存在するパブリッシュ元のプライベートノードを削除した場合、以降、パブリッシュしたプライベートノードのバージョンアップができなくなります。
(注1) 新規パブリッシュするときに選択したFree/Paidの種別は、以降のパブリッシュで変更することはできません。
Discoverに公開中のプライベートノードをバージョンアップする場合
Discoverに公開中のプライベートノードのバージョンアップを行いたい場合は、以下の手順で実施します。
Update
ボタンを押し、更新したいプライベートノードのパッケージファイルをアップロードしますPublish
ボタンを押し、Name、Descriptionを入力します
新規のパブリッシュと同様に、無料のプライベートノードはすぐにDiscoverに公開されますが、有料のプライベートノードの場合はパブリッシュを行うとウフルから契約締結のためにご連絡します。契約締結後に、更新後のプライベートノードをDiscoverに公開します。
click to add tag
click to add tag
をクリックしてタグの追加を行ったり、追加されたタグを参照したりできます。
Access画面
Overview画面の上部のAccess
をクリックするとAccess画面を表示します。
この画面では、プライベートノードの権限を設定できます。
Settings画面
Overview画面の上部のSettings
をクリックする設定画面を表示します。
属性の変更
プライベートノードの以下の2つの属性を変更できます。
- Name: プライベートノードの名前
- Description: プライベートノードの説明
削除
プライベートノードの削除を行うことができます。プライベートノードの削除を行うと、そのプライベートノードを利用したフローの作成や、そのプライベートノードを組み込んだフローのデプロイができなくなります。
無料のプライベートノード(登録元が Upload
または Discover (Free)
の場合)は、削除を行うとすぐにプロジェクトから削除されます。
有料のプライベートノード(登録元が Discover (Paid)
の場合)は、削除してもすぐに削除されません。
有料のプライベートノードを利用する際に取り交わしたウフルとの契約を解除する必要があります。
そのため、有料のプライベートノードの削除を行うと、ウフルの担当者からユーザーに連絡して、契約解除の手続きを行います。
有料のプライベートノードは、契約の解除後に削除されます。
プライベートノードを利用したフローの作成
プライベートノードを利用したフローの作成は以下の環境で行うことができます。
開発環境 | バージョン | 補足 |
---|---|---|
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以上 | ライセンスが付与されていること |
プライベートノードに対応していないHeroku環境にプライベートノードを含むフローをデプロイするには、Heroku環境の再構築が必要です。
Heroku環境の構築の仕方については、Heroku ボタンでアプリを作成をご確認ください。
Herokuでは、同名のアプリを作成することはできないため、もし同名のアプリを作成する必要がある場合、既存のアプリの名前を変更するなどした上でHeroku環境を構築する必要があります。
フローのデプロイ方法については、Deployを参照してください。
enebular 2.25.5以前に登録したプライベートノードの注意事項
enebular 2.25.5以前に登録したプライベートノードは、Discoverへ公開することはできません。また、Usage Informationで使用状況を表示することもできません。
enebular 2.25.5以前に登録したプライベートノードをDiscoverに公開したい場合、Usage Informationで使用状況を表示したい場合は、enebular 2.26.0以降の環境で新規プライベートノードとして登録し直してください。