2018/10に作ったtwitterのbotをリファクタリングしました。理由としては
- python2.7で実行していた。
- Lambda Layer実装以前だったため、ソースコードのサイズが大きすぎてコンソールからは確認・修正できなかった。
- Serverless Framework/Lambda Layerを使ってみたかった。
などもあり、AWSの一年間の無料期間が終わるのでアカウントを作り直すついでに作り直しました。
ソースコードはこちら。
レポジトリの構成の概要は以下の通りです。
.
├── lambda (Lambda本体)
│ ├── includeするmoduleたち
│ ├── lambdafunction.py
│ └── serverless.yml
│
└── selenium-layer (Lambda Layer用)
├── chrome-driver
├── selenium
└── serverless.yml
Serverless Frameworkが簡単すぎて感動しました。
前提条件
serverlessインストール済み(node.js v4以上必須)
AWSアカウント取得済み
aws-cliインストール・設定済み
使い方
先にソースコード肥大化の原因のselenium+chromiumたちをLambda Layerにアップロードします。
$ cd selenium-layer
$ sls deploy
そのあとはLambda本体をアップロード
$ cd ../lambda
$ sls deploy
これで終わりです。