[enebular][Hands-on]クラウド実行環境で LINE Notify アラーム作成

# 概要
2022年3月１日にリリースされた「クラウド実行環境」を試してみる。

https://www.enebular.com/ja/news/20220301/

クラウド実行環境ドキュメント

https://docs.enebular.com/ja/ExecutionEnvironment/Overview.html


今回は**スケジュールトリガー**を使用して、指定した時間に`LINE通知`してくれる環境を作成する。

# LINE Notify 準備
1. https://notify-bot.line.me/ にアクセス！

1. My page で **Generate access token (For developers)** から **Generate token** ボタンをクリック
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/78b24aec-6403-9e72-a982-74ca45478d5a.png)

1. Generate Token ダイアログで、トークン作成する
    - *Please enter a token name to be displayed before enach notification.* にトークンの名前を入力 
    - "1-on-1 char with LINE Notify" を選択
    - **Generate token** ボタンをクリック
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/00f9d0a5-d14c-f3af-e9b9-2bee4ea6b499.png)

1. *Your token is:* ダイアログに表示されるトークンをコピーしておく
![33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/0da7bf73-99cc-db24-527e-043a5a9b0572.png)


# Enebular 設定

enebular にログイン！

https://www.enebular.com/ja/

## プロジェクト作成
1. 画面上部の **+プロジェクトの作成** ボタンをクリック
![44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/b634ff75-91ac-bfe9-3465-cc9ec4808065.png)

1. *プロジェクトの作成*ダイアログで`作成プロジェクト名`を入力して**送信**ボタンをクリック
![55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/41bbe3a5-a5ae-2ae1-1cf2-d49e42d167aa.png)

1. 作成されたプロジェクトが一覧に表示されるので、行をクリックしてプロジェクト詳細画面に遷移
![77.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/df975694-c2be-151d-a2b2-d53678e90ad4.png)

## LCDP in / outノードのインポート

公式ドキュメントの手順にそって、必要なノードをインポート

https://docs.enebular.com/ja/ExecutionEnvironment/CreateFlow.html

1. プロジェクト詳細画面上部の **Discover Assets** ボタンをクリック
![88.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/323cc713-a29e-aae1-93af-0de6a38f66d0.png)

1. 検索テキストボックスに `lcdp-toolkit` と入力し、プルダウンリストから `名称をクリック`
![99.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/a4adac50-d48a-c960-3a66-2774194b6965.png)

1. *lcdp-toolkit* のアセットが表示されるのでクリック
![スクリーンショット 2022-12-18 12.44.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/c73b5c75-c915-2c5b-0655-7745952c1c31.png)

1. *lcdp-toolkitアセット*の詳細画面上にある**インポート**ボタンをクリック
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/28b4dffb-ef0b-98ac-08ec-ffd6f6ce9e12.png)

1. *インポート先*ダイアログで、インポート先のプロジェクトを選択して **インポート**ボタンをクリック
![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/3f7903f5-c7dd-3c22-07c0-ad5584c50660.png)

## フロー作成準備
1. プロジェクト詳細画面の左メニューから **フロー**をクリック
![スクリーンショット 2022-12-18 12.48.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/3543e649-ddff-f09f-0f43-1af57dcef25e.png)

1. *フロー詳細画面*で　**[+]**　ボタンをクリック
![スクリーンショット 2022-12-18 12.49.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/d3ed566c-45e6-156f-a094-723f3c8293fb.png)

1. *フローの作成*ダイアログで、`任意のフロー名称`を入力して**続ける**ボタンをクリック
![スクリーンショット 2022-12-18 12.51.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/f55bdf97-ebbc-50d3-8ce7-b15cd0aa7552.png)

1. フロー詳細画面右側の**編集**ボタンをクリック
![スクリーンショット 2022-12-18 12.54.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/3680a509-1352-bda3-b86f-3fcbb4bf04c4.png)

## フロー作成
以下のようなフローを作成する
![スクリーンショット 2022-12-18 13.00.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/340a05b2-7237-a806-18d3-b8fb19fe5203.png)
サンプルコードは以下に。
```
[{"id":"2ebd4204f3dd0b24","type":"function","z":"6f2a46edfbf77bb1","name":"","func":"msg.headers = {\n    \"Authorization\": \"Bearer {LINE-NotifyToken}\",\n    \"Content-Type\": \"application/x-www-form-urlencoded\"\n};\nmsg.url = \"https://notify-api.line.me/api/notify\";\nmsg.method = \"POST\";\n\nmsg.payload = {\n    \"message\" : \"こんにちわ\"\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":300,"y":200,"wires":[["aa4de83e7cde49f0"]]}]
```

### function ノード
```javascript
msg.headers = {
    "Authorization": "Bearer {LINE-NotifyToken}",
    "Content-Type": "application/x-www-form-urlencoded"
};
msg.url = "https://notify-api.line.me/api/notify";
msg.method = "POST";

msg.payload = {
    "message" : "こんにちわ"
};

return msg;
```
{LINE-NotifyToken} の部分を、 [LINE Notify 準備](#line-notify-準備)で作成した**Token**に置き換える。

### http request ノード
*method*を **-set by msg.method-** に変更
![スクリーンショット 2022-12-18 13.07.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/a382c197-241e-c0fa-5075-33c37038a81f.png)

## フローの動作確認
1. フローエディタ右上の**Save**ボタンをクリック
![スクリーンショット 2022-12-18 13.09.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/79a40656-d471-5fd8-b036-c960ef33c1ce.png)
1. フロー内の **inject**ノードを実行
![スクリーンショット 2022-12-18 13.10.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/5e949185-5224-16fa-4e7b-441fd503f143.png)
1. LINEに通知が届く（はず）
![Screenshot_20221218-131137.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/d38c6031-0606-9e5b-638c-d8f1435cd813.png)
1. 動作確認できたら*フローエディターウインドウ*を閉じる

# クラウド実行環境設定
1. プロジェクト詳細画面の左メニューから **クラウド実行環境**をクリック
![スクリーンショット 2022-12-18 13.19.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/7c7044f7-2246-2f3c-42ea-a2a728f14f37.png)
1. *クラウド実行環境設定*で　**[+]**　ボタンをクリック
![スクリーンショット 2022-12-18 13.18.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/1e27b055-daf3-0af3-3a2a-7972ed883547.png)
1. *実行環境を作成する*ダイアログで`実行環境の名称`を入力し**OK**ボタンをクリック
![スクリーンショット 2022-12-18 13.18.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/26b1b8b2-2713-3165-c86c-5b040d3a6d54.png)
1. しばし待つ
![スクリーンショット 2022-12-18 13.18.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/0da10190-4ee8-adf9-8999-1b07a9cd44c8.png)
1. 環境が準備されると*クラウド実行環境*画面の一覧に環境が追加されるので、行をクリックしてクラウド実行環境詳細へ遷移
![スクリーンショット 2022-12-18 13.24.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/f25a9b53-5850-98b7-0ddc-9c4f214b6738.png)

## トリガー設定
1. *クラウド実行環境詳細*画面上部の**設定**ボタンをクリック
![スクリーンショット 2022-12-18 13.26.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/1fce31b8-aceb-a93f-7221-160777779312.png)
1. *クラウド実行環境設定*画面上部の**設定を編集する**リンクをクリック
![スクリーンショット 2022-12-18 13.27.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/36c45cc1-70f9-1632-a13a-098c8bcc8520.png)
1. *スケジュールトリガー*エリアを設定する
    - *OFF/ON スイッチ* を **ON**にする
    - 時間設定を適切に行う(*スクリーンショット*では **「毎分実行」** の設定)
    ![スクリーンショット 2022-12-18 13.28.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/bc54ac72-ea5c-96ee-e1bc-4497acd99242.png)
1. *クラウド実行環境設定*画面下部の**保存**ボタンをクリック
![スクリーンショット 2022-12-18 13.31.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/ad5dfb32-5d86-bdac-a0c9-0c3244662f43.png)

## デプロイ
1. *クラウド実行環境詳細*画面上部の**概要**ボタンをクリック
1. *クラウド実行環境概要*画面右の**デプロイ**ボタンをクリック
![スクリーンショット 2022-12-18 13.32.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/ff501168-50d5-fa72-539e-0ba31fc93407.png)
1. *デプロイ対象のフローを選択してください*ダイアログで、[フロー作成](#フロー作成)で作成したフローを選択し**デプロイ**ボタンをクリック
![スクリーンショット 2022-12-18 13.34.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/061aeada-6ce7-f0c5-9a52-8817a7ddfa0b.png)

# 動作確認
毎分、`LINE Notify`にメッセージが届く（はず）
![Screenshot_20221218-131137.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/a5d26e9c-3f4b-af1f-b1fc-645462f4b0e0.png)

# 感想
- いままでは **[inject]ノード**で**日時トリガー**を設定していたため、処理タイミングの変更は**フローの修正が必要だった**。そのため、処理タイミングを変更したい場合、都度都度フローのデプロイが必要... <font color="#1e90ff">BAD</font>
- 新しくリリースされた「クラウド実行環境」を使用すると、**設定のみ**で解決する
    - あっというまに反映される（デプロイにかかる時間が必要ない）... <font color="red">GOOD!!!</font>
    - 実行される処理タイミングを意識せずに、問題を解決するためのフロー作成に専念できる！...<font color="red">GOOD!!!（※超重要）</font>