enebular クラウド実行環境を試してみた。(オレオレSteinを作成)

# はじめに

2022年3月4日のenebular newsletterでクラウド実行環境がリリースされたことを知りました。

![PR.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/dc7d0992-5fd7-b084-e77a-097bfbcc5336.png)

さっそく、新しい機能を試してみました。

# 公式ブログ

さらっと記載されていますが、新しい機能は<font color=#FF0000><b>プライベートノードで作成された</b></font> LCDPノード を使用する必要があります。(重要)

https://blog.enebular.com/function/apps-environment/

![プライベートノード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/e6e0d983-45d4-f039-82da-5da4e2cb34a6.png)

ウェブエディタ (enebular.com) へログインして、Discover のリンク(公式ブログに記載されている下記リンク)をクリックして、自分のプロジェクトのPrivate Nodeへインポートする必要があります。

https://enebular.com/discover/privatenode/7861b7c9-35cd-4ad7-bb0a-840251568a8d

![proivate_node.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/eee47825-6443-f597-6af7-13d422f32afa.jpeg)

# 公式ドキュメント

ドキュメントのページに詳細が記載されていますが、まずは実際に手を動かして試してみた方が早いと思います。

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

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

https://docs.enebular.com/ja/executionenvironment/ManageExecutionEnvironment.html

# 手順

### 1.フローを作成します。

![フロー作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/6742a36f-7f55-f2a0-4453-911e60f22127.jpeg)

LCDP-inノードとLCDP-outノードで囲う(挟む)必要があります。

![flow.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/eab7101a-fe94-63dd-198e-e6abd6a978bc.jpeg)

### 2.実行環境を作成します。

実行環境作成には少し(1-2分)時間が掛かります。
トライアルプラン、フリープランのプロジェクトは2個まで作成できます。

![実行環境作成_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/c022c4aa-669f-6836-e62e-b6f00b557703.jpeg)

実行環境ができたら、デプロイする対象の実行環境を選択します。
選択(クリック)する場所は「名称」の部分です。(最初、どこを選択していいか、少し迷いました。)

![実行環境作成_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/4107e7b1-442e-dc52-14fc-104c273ff347.jpeg)

### 3.作成したフローを実行環境へデプロイします。

![実行環境デプロイ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/bfa49a2c-65f0-3abf-08e7-5de1ac9d59cb.jpeg)

### 4.実行方法(トリガー)を設定します。

デプロイが完了したら実行方法(トリガー)を設定します。
選択(クリック)する場所は右上(赤枠)の「設定を編集する」の部分です。(最初、どこを選択していいか、少し迷いました。)
トリガーは「HTTPトリガー」と「スケジュールトリガー」の2種類から選択できます。両方を選択することもできます。
HTTPトリガーはURLに含める文字列を他の人と重複しないようにする必要があります。
文字列を公開する(他の人に知られる)と他の人から実行される可能性があるので注意が必要です。(容易に推測されない文字列にする、長い文字列にする、など。)

![設定_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/55646205-3b43-7664-fdd9-02377465e71e.jpeg)

# サンプルフロー (オレオレStein)

HTTPトリガー(REST API)でGoogle SpreadSheetを操作できるサービス(オレオレStein)を作ってみました。
サンプルフローをDiscover Assetsへ公開しました。

https://enebular.com/discover/flow/511c5a9e-01bf-4fe4-b7e3-e6e62f669dd6

### HTTPトリガー

curlコマンドでHTTPトリガーを試す場合、URLに指定する文字列の最後に「/」が必要です。(「/」がないとエラーになります)

<b>成功</b>
![cmd_ok_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/a00370d3-02c3-74a9-08d8-28c40757ab16.jpeg)

<b>失敗</b>
![cmd_ng_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/39d6c9aa-af1b-e3d5-0f27-4fc9787b966d.jpeg)

HTTPトリガーはURLに続けてパラメータを付けることが可能です。

![cmd_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/71cca3dd-8a1e-8d02-7ef4-edb53e7a9536.jpeg)

### スプレッドシート

スプレッドシートのB列にトリガーの種別(HTTPトリガー、または、スケジュールトリガー)、C列にコンテキスト情報、D列にHTTPクエリパラメータ、E列にHTTPヘッダ・メソッドの情報が記録されます。

![spreadsheet.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/218d7081-cb30-c231-0c54-39d0edcfd00d.jpeg)


# 注意事項

スケジュールトリガーは最小(最頻)単位を毎分で設定できますが、結構、歯抜け(実行されない場合)がありますので、目的・用途に応じて考慮が必要です。
(9:26と9:28が抜けている)

<b>スプレッドシート</b>

![定期実行(抜け).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/f12bf82b-2ebd-db39-8904-872d90198306.png)

<b>ログ</b>

![定期実行(抜け)_ログ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/cdfea623-1f46-2255-7f6f-3013174d6a44.jpeg)

### 2022/3/10 追記

2022/3/5〜10 (5日間)の期間で、定期(毎分)実行を可視化してみました。

- 青(点線)・・正常
- 赤(点線)・・1回失敗(2回に1回正常)
- 赤(実線)・・2回以上失敗

![trigger.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/b47b634a-999f-8e9f-b8ac-5e529e10f80a.png)

実行時間とログサイズの制約(上限)は問題なさそうです。

![case1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/5e3eea56-d40f-6a84-5207-668f6f6daf20.jpeg)
![case2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/a623b813-f278-1c23-5c40-84dea1781da0.jpeg)

### 2022/4/6 追記

2022/3/22~23のリリースで、定期実行環境の動作が劇的に改善(安定)しました！

![スクリーンショット 2022-04-06 18.42.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/fc03847a-8ca1-7895-b112-e4596fee76db.png)