ボットの環境メンテナンス等々
Google App Engineを利用してTwitterボットを幾つか動かしているのだが、Twitter API 1.0がそろそろ廃止されると言うことで、その対応のついでに色々やった事をメモしておく。
1. Twitter API 1.1対応
Twitter API 1.1に対応するという作業を実施。
といっても、Twitterへのポストはtweepyというライブラリを利用しているので、このtweepyをバージョン2.0にする事で対応終了(ただし、API 1.1で廃止されたインタフェース(friends_timeline()等)を使っている場合には、ボットのコード修正が必要になる)。
なお、自分が使っているtweepyのバージョンは__init__.pyを見れば確認出来る。
2. Google App Engineのデータストアの移行
こちらも、GAEのMaster/Slave Datastoreが廃止予定と言うことで、新しいHigh Replication Datastore(HRD)への移行を実施。移行は以下の記事に従って実施するとスムーズに終了した。
なお、移行に掛かった時間はおよそ30分である。
3. Pythonのバージョンアップ
いつの間にかGoogle App EngineでPython 2.5だけでなくPython 2.7が使えるようになっていたので、ボットで利用するPythonのバージョンも2.7に変更(Python 2.7を使うにはHRDに移行しておかないとダメな模様)。
具体的にはapp.yamlを修正して、runtimeをpythonからpython27に変える。あと、新たにthreadsafeの指定が必要になるのでtrueかfalseを指定する。
application: hoge version: 1 runtime: python27 api_version: 1 threadsafe: false
また、GoogleAppEngineLauncherのPreferencesでPython Pathを/usr/bin/python2.7等に変更して、ローカルのテスト環境もPython 2.7を利用するように変更しておく。
【参考記事】
【関連記事】