コンテンツにスキップ

injectノード

injectノード

概要

injectノードは、フローを手動または指定したタイミングで実行するための起点ノードです。

ロボシュタインでは、作成したフローをテスト実行したい場合や、定期的に処理を実行したい場合に使用します。

例えば、外部APIの定期確認、Webサイトの疎通確認、毎朝決まった時刻の処理実行、デモフローの手動実行などで利用できます。

injectノードは入力ポートを持たず、指定した値を後続ノードへ渡してフローを開始します。

injectノード設定画面

具体的な活用例(手動でフローを実行する)

作成したフローを手動で実行し、後続処理の動作確認を行う例です。

フローのイメージ図

injectノードのフローイメージ

① injectノードでフローを開始する

injectノードの左側にあるボタンをクリックすると、フローが開始されます。

例えば、Webサイトの応答確認フローを作成している場合、injectノードのボタンをクリックすることで、すぐにhttp requestノード以降の処理を実行できます。

② 後続ノードへ値を渡す

injectノードでは、後続ノードへ渡す値を設定できます。

例:msg.payload に文字列「test」を設定する

このように設定すると、後続ノードでは msg.payload の値を使って処理できます。

③ 定期実行にも利用できる

injectノードは手動実行だけでなく、一定間隔や指定時刻で自動実行することもできます。

例えば、5分ごとにWebサイトの応答確認を実行する、毎日9時に集計処理を実行する、といった使い方ができます。

設定項目一覧

必須 項目名 説明
名前 フローエディター上で表示されるノード名を任意で指定できます。
プロパティ 後続ノードへ渡す値を設定します。初期状態では msg.payload と msg.topic が設定されており、「追加」ボタンで任意のプロパティを追加できます。
Node-RED起動の○秒後、以下を行う チェックを入れると、デプロイ時やインスタンス起動時に、指定した秒数が経過した後で自動実行します。
繰り返し 一定間隔または指定時刻で繰り返し実行する場合に設定します。

設定画面の「inject実行」ボタンを押すと、編集中の設定内容でその場で実行することもできます。

プロパティについて

プロパティでは、injectノードから後続ノードへ渡す値を設定できます。

プロパティ 内容
msg.payload 後続ノードへ渡す主な値を設定します。
msg.topic 件名や分類など、処理の識別に使う値を設定します。
任意のプロパティ 「追加」ボタンで、msg.xxx のように任意の値を追加できます。

例えば、以下のような値を設定できます。

msg.payload = "実行テスト"
msg.topic = "manual-test"

この状態でinjectノードを実行すると、後続ノードへ指定した値が渡されます。

値の種類について

各プロパティの値は、入力欄左側のプルダウンから種類を選択できます。

種類 内容
flow. フローコンテキストの値を使用します。
global. グローバルコンテキストの値を使用します。
文字列 任意の文字列を設定します。
数値 数値を設定します。
真偽 true または false を設定します。
JSON JSON形式のデータを設定します。
バッファ バイナリデータ(バッファ)を設定します。
日時 実行時点の日時を、ミリ秒単位のタイムスタンプ(例:1791967278308)で設定します。
JSONata式 JSONata式を使用して値を設定します。
環境変数 環境変数の値を使用します。
msg. 他の msg プロパティの値を使用します。

通常のテスト実行では、「文字列」「数値」「真偽」「JSON」「日時」を使用することが多いです。 新しく配置したinjectノードでは、msg.payload に「日時」が設定されています。

手動実行について

injectノードは、フローエディター上のボタンから手動実行できます。 作成中のフローをすぐに動かしたい場合や、後続ノードの動作確認を行いたい場合に便利です。

injectノード → debugノード

この構成にすると、injectノードから送信された値を確認できます。

また、以下のように外部API確認の起点としても利用できます。

injectノードのフローイメージ

起動時の実行について

「Node-RED起動の○秒後、以下を行う」にチェックを入れると、デプロイ時やインスタンス起動時に自動でinjectノードを実行できます。 起動直後に一定の初期処理を行いたい場合や、フロー開始時に状態確認を行いたい場合に使用します。

例:「Node-RED起動の 0.1 秒後、以下を行う」にチェック

この場合、フローの起動後、指定した秒数が経過したあとに実行されます。

繰り返し実行について

injectノードでは、「繰り返し」で指定した条件で繰り返し実行できます。

設定 内容
なし 自動実行しません。手動実行のみ行います。
指定した時間間隔 指定した秒・分・時間ごとに実行します。
指定した時間間隔、日時 指定した時間帯・曜日の中で、一定間隔(分)ごとに実行します。
指定した日時 指定した時刻・曜日に実行します。

一定間隔で実行する例

「指定した時間間隔」で 5 分を指定

Webサイトの応答確認やAPIの定期確認などに利用できます。

指定時刻に実行する例

「指定した日時」で時刻 09:00、曜日をすべて選択

日次処理や定時通知、定期集計処理などに利用できます。

スケジュールノードについて

ロボシュタインには、定期実行の起点として利用できるスケジュールノードも用意されています。
実行除外期間(休日など)を設定したい場合など、より細かくスケジュールを管理したい場合はスケジュールノードをご利用ください。

利用例

例1:フローを手動でテスト実行する

作成中のフローを手動で実行する例です。

例1:フローを手動でテスト実行する

設定例:msg.payload に文字列「テスト実行」を設定

injectノードのボタンをクリックすると、後続ノードへ指定した値が渡されます。

例2:Webサイトを定期確認する

一定間隔でWebサイトの応答確認を行う例です。

例2:Webサイトを定期確認する

設定例:繰り返し「指定した時間間隔」で 5 分

この構成にすると、5分ごとにhttp requestノードが実行され、Webサイトの応答確認を行えます。

例3:毎日決まった時刻に処理を実行する

毎日9時に定期処理を実行する例です。

例3:毎日決まった時刻に処理を実行する

設定例:

  • 繰り返し:指定した日時
  • 時刻:09:00
  • 曜日:月曜日〜日曜日

日次レポート送信や定時確認処理などに利用できます。

例4:後続ノードへJSONを渡す

後続ノードの動作確認用にJSONデータを渡す例です。

例4:後続ノードへJSONを渡す

msg.payload の値の種類を「JSON」にして、以下を設定します。

{
  "host": "server01",
  "status": "error",
  "level": "critical"
}

この状態で実行すると、後続ノードでJSONデータ(オブジェクト)を利用できます。

注意点

変更後はデプロイしてから実行する

injectノードの設定を変更した場合、デプロイするまで変更内容は反映されません。 設定変更後にノードのボタンから手動実行する場合は、先にデプロイしてください。

定期実行の間隔に注意する

繰り返し実行の間隔を短くしすぎると、外部APIや後続処理に負荷がかかる場合があります。 API連携や通知処理を定期実行する場合は、実行間隔や処理時間を考慮して設定してください。

起動時実行と繰り返し実行の組み合わせに注意する

「Node-RED起動の○秒後、以下を行う」と「繰り返し」を両方設定すると、起動時に一度実行されたあと、指定条件に従って繰り返し実行されます。 意図せず複数回実行されないよう、用途に合わせて設定してください。

同じ処理を複数のinjectノードで実行しない

同じ処理に対して複数のinjectノードを配置すると、想定以上に処理が実行される場合があります。 手動実行用、定期実行用など、用途が分かる名前を付けて管理してください。

本番環境での手動実行に注意する

injectノードはボタン操作でフローを実行できるため、本番環境では誤操作に注意してください。 再起動、通知、チケット登録、外部API更新など、影響のある処理につながる場合は、ノード名やフロー構成を分かりやすくしておくと安心です。

関連ノード

  • debugノード:injectノードから送信した値を確認する場合に使用します。
  • http requestノード:injectノードを起点に外部APIやWebサイトへリクエストする場合に使用します。
  • switchノード:injectノードから渡した値をもとに処理を分岐する場合に使用します。
  • changeノード:injectノードの後で値を追加・変更する場合に使用します。
  • functionノード:injectノードから開始した処理で複雑な加工を行う場合に使用します。
  • メール送信ノード:定期通知やテスト通知を送信する場合に使用します。
  • スケジュールノード:実行除外期間などを含めて定期実行を管理する場合に使用します。

まとめ

injectノードは、フローを手動または指定したタイミングで実行するための起点ノードです。

作成中のフローのテスト実行、デモフローの開始、外部APIの定期確認、毎日決まった時刻の処理実行などで活用できます。

後続ノードへ渡す値は、msg.payload や msg.topic などに設定できます。

また、起動時の実行や繰り返し実行を設定することで、定期処理の起点としても利用できます。

本番環境で使用する場合は、実行間隔、起動時の実行、手動実行による影響を確認したうえで設定してください。