ボットの環境メンテナンス等々

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 EnginePython 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を利用するように変更しておく。


【参考記事】

【関連記事】