ITイベント検索bot
アプリ本体
(2021/02/28現在動作せず、LINE側の仕様が変更になった?)
発表スライド
ソースコード
GitHub - kamonohashiK/itEventSearch: 複数サイトからIT系イベントの情報を取ってくるChatbot
スライドではAPIからデータを取ってくるもの=1号、LINEで返信するもの=2号と表現しましたが、APIからデータを取得するLambdaはConnpassとDoorkeeperでそれぞれ別のものを使っています。
使用したAPI
APIリファレンス - connpass
Doorkeeper API \| Doorkeeper
APIからデータ取得するコード
HTTPのPOST/GETリクエストをする \| Python Snippets
LINE Messaging API
LINE Developers
Lambdaでline-bot-sdk-pythonを使用してオウム返しBOTを作成する - Qiita
AWSリソース
AWS Lambda(イベント発生時にコードを実行)\| AWS
Amazon API Gateway(規模に応じた API の作成、維持、保護)\| AWS
Amazon DynamoDB(マネージド NoSQL データベース)\| AWS
スライドではデータベースについては詳しく触れませんでしたが、実際にはDynamoDBを使用しています。
開発環境
Serverless - The Serverless Application Framework powered by AWS Lambda, API Gateway, and more
Serverless FrameworkでLambdaをPython 3.6で使ってみた | Developers.IO
スライドでは触れませんでしたが、今回の開発ではServerless Frameworkを使用しました。
Serverless Frameworkを使うと、
・ローカルで、使い慣れたエディタでコードの編集ができる
・コマンド一発でデプロイやローカル環境でのテストができる
・yamlファイルを編集するだけで起動時間の設定やAPI Gatewayの設置ができる
・AWS以外にもGCP、Azure等のサービスでも同じようなことができる
等々、メリットがたくさんあります。
コンソールを直接触って慣れてきた(不便を感じるようになった)頃にぜひ使ってみてください。