透過 AWS Chalice 建立你 Line bot
你需要
- 建立 Line Bot: https://developers.line.biz/console/
- AWS Console: https://aws.amazon.com/tw/console/
pip install chalice
Chalice 可以透過 Deploy 的指令,自動幫你設定 API Gateway
以及佈署 lambda
所以需要提供 IAM
權限給 Chalice
- Create User
- AWS access type 選
Programmatic acces
- Policy 選
IAMFullAccess
,AWSLambdaFullAccess
,AmazonAPIGatewayAdministrator
- Download credentials
下載完後 credentials 需要設定你的 .aws 環境
$ mkdir ~/.aws
$ vi ~/.aws/config
[default]
aws_access_key_id=<aws_access_key_id>
aws_secret_access_key=<aws_secret_access_key>
region=ap-northeast-1
備註:
- aws_access_key_id: 填 credentials 裡面
Access key ID
- aws_secret_access_key: 填 credentials 裡面
Secret access key
- region 會決定把你的機器到哪個區域,參考連結
git clone https://github.com/jiunjiun/chalice-linebot.git
cd chalice-linebot
$ cp .chalice/config.json.sample .chalice/config.json
- LINEBOT_CHANNEL_SECRET: 填入你 Line Bot 的
Channel secret
- LINEBOT_CHANNEL_ACCESS_TOKEN: 填入你 Line Bot 的
Channel access token
設定完上面項目就可以開始 Deploy
$ chalice deploy
deploy 完後會顯示你的 Rest API URL:
Rest API URL: https://<random>.execute-api.ap-northeast-1.amazonaws.com/api
接著再回去 Line Channel Settings 的 Webhook URL,填入進去並在後面加 /callback
<random>.execute-api.ap-northeast-1.amazonaws.com/api/callback
你在建立完 Line Bot,預設是不會開啟 Webhook 機制
- 點選你的 Line Bot
- 點選右上角
設定
- 點選左邊
回應設定
- 停用
自動回應訊息
, 啟用Webhook
這個時候你加你的Line Bot 就會回應你的訊息
40行で書ける! Serverless LINE BOT github.com/c-bata/chalice-linebot