ちょっと大量のデータをやりとりするようなWebアプリケーションのプロトタイプを作って、色々データ分析したくなった。
そこで、ちょちょっとTwitterの分析系アプリを作ろうと思い立って、大量のデータを安価に、簡単にスケールさせられることからGAE(Google App Engine)に手を出した。
実は結構前からGAEを色々いじくってるんだが、いつもpythonのWebフレームワークとして使っているdjango(正式にはジャンゴと読むらしい)がGAEだと結構めんどくさそう。
バージョンも0.9と古いということでうまいやり方を探していいたところ、友人にKay FrameworkなるGAE専用の日本人作フレームワークを教えてもらったので使ってみた。
結論:かなり使いやすい!
Twitter OAuthとの繋ぎこみあたりなんか、デフォルトで仕組みが組み込まれてて、5分くらいで実装できた。
そこまで行くのに、チュートリアルとかいじりつつ、4時間ぐらいか。
» 1. Kay チュートリアル — Kay v0.10.0 documentation
日本人の方が作っているということで日本語ドキュメントもそれなりに整備されていて、かなり扱いやすかったのだが、manage.pyを使わず、Google App Engine Launcherを主に使って嵌った点があったのでまとめる。
1.2.4. GAE にアップロードする
デプロイしてwebを確認したら、下記のようなエラーが出た。
TemplateNotFound: myapp/index.html
どうやら、tenplateファイルをコンパイルする必要があるらしい。
実際、下記のコマンドを実行するとエラーは消えた。
python manage.py preparse_apps
1.7.2. 管理用スクリプト
データベースのマスタデータの挿入などの管理スクリプトの実行をどうするのか迷ったが、普通に下記のようにコマンドを打てば大丈夫。
python manage.py create_categories -h localhost:8080 --no-secure
これは、本番環境でも使える。
localhost:8080 -> xxx.appspot.com
OAuth
さて、実際にTwitter OAuthと連携させる段階。
どうやらKay FrameworkはOpenIDやOAuthにも既に対応しているらしい。
» Kay Framework で認証に Twitter の OAuth を使う方法
この通りにやったら本当にできてしまった。
一瞬。
これから簡単なTwitterアプリを作ろうって人は、Kay Frameworkが激しくオススメ!!
» kay-framework – Project Hosting on Google Code
※今までメディアブログを意識して文体は丁寧語でしたが、もっと気軽にブログを書きたいと思ったので、ゆるい感じの文体に戻そうかと。