今回は、enebularのクラウド実行環境で動作するシンプルな LINE BOT 作成してみます。出来上がったLINE BOT にメッセージを送ってみると、オウム返しに送ったメッセージがそのまま返ってきます。
この↓スクリーンショットのような感じです。
前提:はじめる前に
LINE BOT はすでに作成してある前提で進めます。
LINE Developers で作成済みの LINE BOT で、今回つなぐ対象のチャネルシークレット・チャネルアクセストークンをメモしておきます。
今回の Discover Flow
今回使う Discover Flow はこちらです。
公式チュートリアルの「クラウド実行環境の準備」の手順が完了したプロジェクトに、インポートボタンをクリックしてインポートしましょう。
フローを編集する
インポートして読み込めたら編集ボタンをクリックしてフローを編集しましょう。
このようなフローが表示されます。
LINE BOT 設定 change ノードの設定
LINE BOT 設定という名前の change ノードの設定をします。今回使う LINE BOT のチャネルシークレット・チャネルアクセストークンを設定します。
ノードをダブルクリックしてプロパティ設定を表示しましょう。
プロパティ設定です。
対象の値の <ChannelSecret>
を今回使う LINE BOT のチャネルシークレットに置き換えます。
対象の値の <ChannelAccessToken>
を今回使う LINE BOT のチャネルアクセストークンに置き換えます。
設定できたら完了ボタンをクリックします。
保存ボタンをクリックしてデプロイします。
クラウド実行環境へのフローの反映
ブラウザでエディタのタブを閉じて、以前のタブのフロー詳細画面に戻ります。
上部のプロジェクト名をクリックしてプロジェクト詳細画面に戻ります。
プロジェクト詳細画面で右メニューのクラウド実行環境をクリックします。
クラウド実行環境の一覧が表示されたので、一覧から今回設定するクラウド実行環境をクリックします。
クラウド実行環境の詳細が表示されたので、デプロイボタンをクリックします。
今回作成したフローをクリックしてデプロイボタンをクリックします。
デプロイ中となります。
デプロイ済みになりました。
事前に HTTP トリガーの URL を考えておく
HTTP トリガーの URL は enebular の他のユーザーやプロジェクトも含めて共有して使われるため、独自のものにする必要があります。
一般のweb サイトのドメインと同様に、もし希望する URL を他のユーザーやプロジェクトですでに取得されていた場合には、設定することができずエラーになります。
以前の記事「クラウド実行環境での HTTP トリガーに設定する重複しない URL をつくる TIPS」を参考に、重複しないよう (自分の名前の英語名)-(今回のプロジェクト名)-(今日の日付)-(ランダム値)-linebot
と決めておきましょう。
たとえば、
- 自分の名前の英語名
- 例:山田太郎 →
yamada-taro
- 例:山田太郎 →
- 今回のプロジェクト名
- 例:
myproject
- 例:
- 今日の日付
- 例:2022 年 10 月 21 日→
20221021
- 例:2022 年 10 月 21 日→
- ランダム値
- 3 桁以上のランダム値 例:
2736
(やり方は上記で紹介した記事の「ランダム値の作り方」を参照)
- 3 桁以上のランダム値 例:
- 仕組みの名前
- 今回は:
linebot
- 今回は:
でしたら、yamada-taro-myproject-20221021-2736-linebot
のようになります。
クラウド実行環境の設定
上部のメニューから設定をクリックします。このままだと設定は入力できずロックされています。
設定を編集をクリックします。クリックすると設定が編集できるようになります。
HTTP トリガーの項目に注目します。
スイッチをクリックして ON にします。
HTTP トリガーのパスに、先ほど決めた HTTP トリガーの URL を入力します。
下までスクロールして保存ボタンをクリックします。
しばらく待つと画面左下に「更新に成功しました」とメッセージが出ます。他にエラーメッセージが出なければ成功です。
このようにまた編集できないようなり、設定が完了します。
HTTP トリガー URL の確認
HTTP トリガーの項目を確認します。
このボタンをクリックしてクリップボードにHTTP トリガー URL をコピーします。
コピーができると、このように「コピーしました」と出ます。
この設定を LINE BOT の Webhook 設定に使用します。
LINE Developers で Webhook の設定をする
LINE Developers を、ブラウザの別のタブで開きます。このように今回使う LINE BOT の Messaging API 設定に移動します。
スクロールして Webhook 設定の項目を見つけて、編集ボタンをクリックします。
さきほどコピーした URL を Webhook URL の欄にペーストして更新ボタンをクリックします。
また、Webhook の利用がオンになっていることも確認してきましょう。まれにオフになっているので、その場合にはオンにしましょう。
これで LINE BOT の設定は完了です。
動かしてみる
今回動かす LINE BOT でメッセージを送ってみると、オウム返しのメッセージがきます!
サーバーレスな AWS Lambda の挙動になるので、最初の 1 回のアクセスは、コールドスタートというサーバーの起動込みの動作が行われ、5 ~ 10 秒程度の間があります。
そのあと、直後に続けてのメッセージには素早く帰ってきます。しばらくアクセスしていないと、またコールドスタートがはじまります。
参考 : Lambdaの実行環境について(コールドスタートとウォームスタート)
今回は、enebularのクラウド実行環境で動作するシンプルな LINE BOT 作成してみました。ぜひ、みなさんも年末年始のお休みにでも試してみてください。
2023年も、よきenebularライフを!