LINE Messageを echo back する BOTを AWS Lambdaで作成した時のメモ書き。Lambdaは、Python 3.6を選択。
前提条件: LINE Messaging APIを利用する為、LINE Business アカウントは作成済
*まだ作成していない場合は、こちら.
1. Lambda function作成
AWS Management Consoleへログインして、Lambdaを選択する。以下の画面が表示されるので “Get Started Now“.
“Basic Function”を選択
破線の領域を選択して、プルダウンリストから “API Gateway” を選択する。
Security は”Open“を選択して、”Next“をクリック
“Name”に適当な名前を入力し、”Runtime”は、Python 3.6を選択
Role は、”Create new role from template(s)” とし、Role Nameは適当な名前を入力して、”Next“クリック.
“Create function“クリックし、Functionを作成する
作成が完了すると、以下の画面が表示されるので、API Gatewayの URLをコピーしておく(LINE側の設定で必要)
2. LINE BOT側の設定
LINE developers ➡️ Basic information. “EDIT”クリック
“API Gateway URL”を Webhook URLへ貼り付けして、”SAVE”クリック.
“Channel Access Token”をコピーしておく(後で Lambdaに貼り付ける)
3. Upload files
ここから、実際の BOT部分の Python プログラムをアップロードする準備を行います。ターミナルを開いて、作業フォルダを作成し、圧縮ファイルを作成します。(コマンドは、以下参照)
MacBook-Air:~ Tadashi$ mkdir lambda-line-bot MacBook-Air:~ Tadashi$ cd lambda-line-bot/ MacBook-Air:lambda-line-bot Tadashi$ pip install requests -t . MacBook-Air:lambda-line-bot Tadashi$ zip -r files.zip *
次に、”lambda_function.py”ファイルを作成し、同じディレクトリに保存します。
<p><script src="https://gist.github.com/tad-iizuka/c60e7878fea9fcf42a4cc688facca942.js"></script></p>
4. Upload zip file
AWS Lambdaに戻って、”Code”タブを選択し、”Code entry type”を”Upload a .ZIP file”に変更
“Upload”クリックしてアップロード, (先ほど作成したファイルを選択), アップロードが完了したら、”Save”クリック
‘Channel Access Token’ 部分のコードを自身のアクセストークンに書き換えて、”Save”クリック
5. テスト
BOTアカウントを追加したら、テキストメッセージ・ステッカーを送信するとエコーが帰ってきます。ただし、標準以外のステッカーには対応していないので、エラーになってしまいます。