前にGitHubのNewsFeedをTwitterで見たいなぁと思ってRubyで実装したものをHerokuで動かしていたのですが、AWS Lambdaがスケジュール実行できるようになったとのことで移行しました。
Pythonもサポートされたようなので、せっかくなので試す。AWSへの反映はこちらのページが参考になりました。
AWS Lamdaがサポートしているのは、Python2.7のようです!
プロジェクトディレクトリを作って、pyenvで2.7系に変えて、pipでライブラリをディレクトリ内にインストール。
$ cd my_project $ pyenv local 2.7.8 $ pip install requests -t . $ pip install python-twitter -t .
コードはこんな感じ。140字で収めるためにゴニョゴニョしてます(あとPythonで文字列が日時のフォーマットになってるか調べる方法が分からなかった・・・)。
zipで固めて
zip -r ~/awslambda.zip *
AWSへアップロードして、AWS Lambdaの「Configuration」にある「Handler」で上のコードのlambda_handler
メソッドを指定、「Event Sources」で Schedule Event を登録すれば完了!