クラウド実行環境でのスケジュールトリガーによるフローの実行
このチュートリアルでは「クラウド実行環境のスケジュールトリガーにより起動されるフローを編集し、実行する」ということを実施します。(所要時間30分)
Table of Contents
LCDPノードの利用
LCDP in / outノード
をインポートできたので、いよいよフローを作成します。
ここではHello World !
とともにタイムスタンプを表示するフローを作成して、15分毎にクラウド実行環境のログに表示することを目指します。
ではクラウド実行環境で実行するフローを作成するため、新しいフローを作成してフローエディターを立ち上げましょう。
クラウド実行環境で実行するフローはLCDP inノード
からはじまり、LCDP outノード
で終了する必要があります。
まずは下図のようにLCDP in / outノード
を配置します。LCDP in / outノード
はパレットのネットワーク
に分類されています。
ノードのインストール
次にタイムスタンプを取得するためのノードを配置します。
これまではinjectノード
でタイムスタンプを取得していましたが、クラウド実行環境でinjectノード
を継続的に実行することはできないため、今回はDate/Time Formatterノード
を追加して利用します。Date/Time Formatterノード
はタイムスタンプを任意の形式で取得するためのノードです。
ではDate/Time Formatterノード
を追加しましょう。
下図の赤線で囲んだ部分をクリックし、パレットの管理
を選択します。
下図のようなモーダルが開くので、モーダル上部のノードを追加
タブをクリックします。ここからさまざまなノードをパレットにインストールできます。
検索欄にnode-red-contrib-moment
と入力すると、検索結果が表示されるので、下図の赤線で囲んだnode-red-contrib-moment
のノードを追加
ボタンをクリックします。
ノードをインストールするかどうかアラートが表示され、追加
ボタンを押下すると、ノードのインストールが開始されます。しばらく待ってインストールが完了すると、パレットのformats
の分類にノードが追加されていることが確認できます。
タイムスタンプの取得と表示
今回のフローでは、さらにDate/Time Formatterノード
とtemplateノード
、debugノード
を利用します。
templateノード
は入力をもとに表示する内容を出力するためのノードで、パレットの機能
に分類されています。
下図のように各ノードを配置して、接続します。
Date/Time Formatterノード
をダブルクリックして設定を行います。下図の赤線で囲んだ部分を以下のように設定し、完了
ボタンを押下します。
- Input from: msg.payload
- Input Timezone: Asia/Tokyo
- Output Format: YYYY-MM-DD HH:mm:ss
- Locale: ja-JP
- Output Timezone: Asia/Tokyo
- Output to: mssg.payload
templateノード
をダブルクリックして、設定を行います。下図の赤線で囲んだ部分にHello World ! {{payload}}
と入力し、完了
ボタンを押下します。デフォルトでは、入力した{{payload}}
の箇所にmsg.payload
の値が代入されます。
debugノード
をダブルクリックして、設定を行います。システムコンソール
のチェックボックスにチェックをいれ、完了
ボタンを押下します。
保存
ボタンを押下して、フローを保存します。
これでHello World !
とタイムスタンプを表示するフローが作成できました。
クラウド実行環境へのフローのデプロイ
次にクラウド実行環境でフローを実行するために、クラウド実行環境へ作成したフローをデプロイします。
作成したフローの管理画面に移動し、左のデプロイ
ボタンを押下します。
フローをデプロイする実行環境を選択するモーダルが開くので、クラウド実行環境を選択
ボタンを押下します。
その後、下図のようにデプロイするクラウド実行環境のチェックボックスにチェックを入れ、デプロイ
ボタンを押下します。
フローのデプロイ履歴画面に移動します。下図の赤線で囲われたデプロイステータスがデプロイ中
からデプロイ済み
になれば、デプロイ完了です。
これで作成したフローをクラウド実行環境へデプロイする方法が分かりました。
スケジュールトリガーの設定
クラウド実行環境へのフローのデプロイができたので、あとはフローを実行するだけです。 クラウド実行環境でフローを実行するには、トリガーと呼ぶフローの呼び出し方法を設定する必要があります。
トリガーには、以下の二種類があります。
- HTTPトリガー
HTTPリクエストによりフローを実行するトリガーです。 - スケジュールトリガー
一定時間毎、または特定時刻になったらフローを実行するトリガーです。
今回はHello World !
とともにタイムスタンプを15分毎にクラウド実行環境のログに表示することを目指しているので、スケジュールトリガーを利用して15分毎にフローを実行するようにしましょう。
まずはプロジェクト管理画面のサイドバーでクラウド実行環境
を選択します。
クラウド実行環境の一覧が表示されるので、フローをデプロイしたクラウド実行環境を選択します。
クラウド実行環境の概要画面に移動するので、画面上部の設定
タブをクリックします。
クラウド実行環境の設定画面に移動します。右上の設定を編集する
をクリックすると、クラウド実行環境の設定を編集できるようになります。
設定が編集できるようになったら、下図の赤線で囲んだスケジュールトリガー
の欄を設定します。トグルスイッチをクリックしてON
にします。これでスケジュールトリガーを有効にできます。
次にスケジュールを設定します。
今回は15分毎にフローを実行したいので、左のドロップダウンリストで毎時
に設定した後、右のドロップダウンリストで 0、15、30、45
をクリックします。これで、毎時毎15分でスケジュールを設定できます。
画面下部の保存
ボタンを押下して、「更新に成功しました」と通知が表示されれば、スケジュールトリガーの設定完了です。
これでクラウド実行環境のログにHello World !
とタイムスタンプを表示するフローを15分毎で実行できるようになりました。
スケジュールトリガーによるフローの実行
最後にクラウド実行環境のログに目的の表示がされているか確認しましょう。
スケジュールトリガーで設定した時刻になるとフローが実行され、クラウド実行環境のログが追加されます。フローをデプロイしたクラウド実行環境の管理画面上部のログ
タブをクリックします。
クラウド実行環境のログが表示されるので、スケジュールトリガーを設定した時刻のログを確認します。下図の赤線で囲んだ部分のようにHello World !
とともにタイムスタンプが表示されていることが確認できます。
その後15分毎にログが追記されていきます。 ログごとに表示されるタイムスタンプが変化していることを確認しましょう。
これで、スケジュールトリガーによって一定時間毎にフローを実行できるようになりました。
続いて、HTTPトリガーによってフローを実行してみましょう。