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アカウントを追加したら、テキストメッセージ・ステッカーを送信するとエコーが帰ってきます。ただし、標準以外のステッカーには対応していないので、エラーになってしまいます。