Google App Engineを入門してみよう

Posted by hiroki.kana on March 27, 2010
このエントリーをはてなブックマークに追加

今さらですか?
でも、ちゃんといろんなものを触ってみるのが大切だと思います。
というわけでGoogle App Engineを入門してみます。

どうやら入門的なサイトを見てみると、Googleにスペース(アプリケーションのデプロイ先)を作成して、ローカルの開発環境で開発して上げるという流れのようだ。

まず、このサイトで右のスタートガイドの登録というリンクをクリックして、登録。
Googleのアカウントを入れたらSMSのアドレス、もとい携帯のアドレスを入れろと出た。
届いたAuthentication Codeを入力するとアプリケーション作成画面になったので、適当なものをぽちぽちと入力。
ひとまずデプロイ先ができました。
以降はGoogle app engineにアクセスしてこの辺を制御するようです。

では次にSDKをダウンロード。
もちろん選ぶは「Google App Engine SDK for Python」のMac OS X。
JavaとPythonだったら私の頭的にはPythonのが断然理解が早いので、Pythonに。

インストールしたイメージを展開すると「GoogleAppEngineLauncher」というのをアプリケーションに配置します。
最初に起動すると以下のようなメッセージが出ます。
どうやらシンボリックリンクを張りたいらしいので「OK」を押します。

では早速Hello Worldを。
GoogleAppEngineLauncherの左したの「+」ボタンを押します。

するとダイアログが出るのでApplication Nameにさっきのアプリケーション作成画面で入力したアプリケーション名を入れて「Create」を押します。
あとはPortで指定した番号にブラウザからアクセスすると「Hello World」が表示されます。
はい、以上です。
簡単過ぎですね。きっと進化したんですね、昔より。

さらにDeployボタンを押せばGoogleアカウントを入れるだけでデプロイ完了。
すごい簡単なんですねぇ。

作成したディレクトリには設定ファイルとメインのソースが自動的に生成されてました。
これだけではアレなんで、ひとまず参考にしたサイトをもとにmain.pyを修正して、Googleのアカウントと連携ちっくなものを。

#!/usr/bin/env python
import cgi
import datetime
import wsgiref.handlers
from google.appengine.ext import db
from google.appengine.api import users
from google.appengine.ext import webapp

class MyHandler(webapp.RequestHandler):
  def get(self):
     user = users.get_current_user()
     if user:
       greeting = ('こんにちは, %s! ([ログアウト](%s))' %
                   (user.nickname(), users.create_logout_url("/")))
     else:
       greeting = ('[ログイン ](%s)' %
                   users.create_login_url("/"))
     self.response.out.write("%s" % greeting)

application = webapp.WSGIApplication([
    ('/', MyHandler)
    ], debug=True)

def main():
  wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':
  main()

ログインを押すとGoogleのログイン画面が表示されます。
ローカル環境だとしょぼいやつですが、デプロイするとちゃんとまともなやつが表示されました。

これだけだとあれなので、次はちゃんと何か動くものを作ってみたいと思います。

このエントリーをはてなブックマークに追加