クラウド実行環境でのスケジュールトリガーによるフローの実行
このチュートリアルでは「クラウド実行環境のスケジュールトリガーにより起動されるフローを編集し、実行する」ということを実施します。(所要時間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トリガーによってフローを実行してみましょう。