Google App Engineを試してみる
先日公開されたGoogle App Engineを動かしてみました。
参考:秋元@サイボウズラボ・プログラマー・ブログ: Google App Engine SDKを使ってみた
googleのリソースを使って色々出来るみたい。とりあえず昨日の夜に登録してみたけど、制限されてるらしくアカウントが使えません。「有効化したらメールでお知らせするので、それまでSDKで遊んどいてね」とのこと。
SDKのインストール
http://code.google.com/appengine/downloads.htmlに行くと、Windows、Mac、Linux用のバイナリが置いてあるので、Mac版をダウンロード。Leopard環境には何の問題も無くインストール出来ました。WindowsとLinuxにはpytonのインストールも必要です。
サクッとインストール。実行用のファイルは/usr/local/bin/dev_appserver.pyね。
まずは「Hello World」
と言っても用意されているドキュメント通りに事を進めるだけです。
プロジェクトのディレクトリが必要なのでホームの下にgoogleappengine/helloworldを作成します。
mkdir googleappengine/helloworld cd googleappengine/helloworld
pythonでCGIを作ります。初めてperlを触った時を思い出しました。
> vim helloworld.py print "Content-Type: text/html" print "" print "<html> <head> <title>Hello, World!</title> </head>" print " <body> <font color='red'>" print " Hello, World!" print " </font> </body>" print "</html>"
同じディレクトリに設定ファイルの「app.yaml」を作成します。これはドキュメントのをコピペ
> vim app.yaml application: helloworld version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py
そして起動
必要なファイルが揃ったので起動してみます。SDKには簡易的なwebサーバも含まれているので直に確認出来ます。初めてRuby on Railsを触った時を思い出しました。
> /usr/local/bin/dev_appserver.py /Users/ishiikenzou/googleappengine/helloworld
何かが走りはじめます。
INFO 2008-04-09 14:01:36,164 appcfg.py] Checking for updates to the SDK. INFO 2008-04-09 14:01:36,906 appcfg.py] The SDK is up to date. WARNING 2008-04-09 14:01:36,906 datastore_file_stub.py] Could not read datastore data from /var/folders/cL/cLhoGiWvFTK1mAQOEAENsk+++TI/-Tmp-/dev_appserver.datastore WARNING 2008-04-09 14:01:36,906 datastore_file_stub.py] Could not read datastore data from /var/folders/cL/cLhoGiWvFTK1mAQOEAENsk+++TI/-Tmp-/dev_appserver.datastore.history INFO 2008-04-09 14:01:36,909 dev_appserver_main.py] Running application helloworld on port 8080: http://localhost:8080
ブラウザで確認すると
動きました。ターミナルにはこんなログが出てました。
INFO 2008-04-09 05:04:32,000 dev_appserver.py] "GET / HTTP/1.1" 200 - INFO 2008-04-09 05:04:32,007 dev_appserver_index.py] Updating /Users/ishiikenzou/googleappengine/helloworld/index.yaml INFO 2008-04-09 05:04:32,062 dev_appserver.py] "GET /favicon.ico HTTP/1.1" 200 -
便利な世の中になったもんだ。夜に元気があればフレームワーク使って少し凝ったもの作ってみます。アカウントはいつ頃使えるようになるのかな〜