2011年5月17日火曜日

Trying Google App Engine SDK for Go

Google App EngineがGoに対応したとかで、とりあえず試してみることにした。

インストール

何はともあれSDKをダウンロードしてきてパスを通す。

$ cd ~/lib
$ wget http://googleappengine.googlecode.com/files/go_appengine_sdk_linux_386-1.5.0.zip
$ unzip go_appengine_sdk_linux_386-1.5.0.zip
$ export PATH=~/lib/google_appengine/:$PATH

サンプルの作成と実行

サンプルの作成手順は本家ドキュメントに任せるとして、ここでは実際の実行結果を見ていく。

$ dev_appserver.py myapp/
Warning: You are using a Python runtime (2.6) that is more recent than the production runtime environment (2.5). Your application may use features that are not available in the production environment and may not work correctly when deployed to production.
INFO     2011-05-17 14:17:10,225 appengine_rpc.py:159] Server: appengine.google.com
INFO     2011-05-17 14:17:10,229 appcfg.py:440] Checking for updates to the SDK.
INFO     2011-05-17 14:17:10,550 appcfg.py:457] The SDK is up to date.
WARNING  2011-05-17 14:17:10,550 datastore_file_stub.py:657] Could not read datastore data from /tmp/dev_appserver.datastore
INFO     2011-05-17 14:17:10,552 rdbms_sqlite.py:58] Connecting to SQLite database '' with file '/tmp/dev_appserver.rdbms'
INFO     2011-05-17 14:17:10,598 dev_appserver_multiprocess.py:637] Running application helloworld on port 8080: http://localhost:8080

これでGoogle App Engineのサーバーがローカルで起動したので、あとはブラウザからhttp://localhost:8080/にアクセスすると、"Hello, World!"と記載されただけのページが表示される。それに併せて、dev_appserver側では以下のログが出てくる。そのログを見ると、実行時にGoのソースをコンパイルして即実行してるのがわかる。

INFO     2011-05-17 14:17:36,341 __init__.py:284] building _go_app
INFO     2011-05-17 14:17:37,011 __init__.py:276] running _go_app
INFO     2011-05-17 14:17:37,080 dev_appserver.py:4200] "GET / HTTP/1.1" 200 -
INFO     2011-05-17 14:17:37,139 dev_appserver.py:4200] "GET /favicon.ico HTTP/1.1" 200 -
INFO     2011-05-17 14:17:40,245 dev_appserver.py:4200] "GET /favicon.ico HTTP/1.1" 200 -

0 件のコメント:

コメントを投稿