Amazon EC2を試そうかと思っていたら、Google App Engineが始まったので、試してみることに。
残念ながら、プレビューリリースは10,000人のみらしく、順番待ちになってしまいました。
BigTableベースのストレージとか、自動で負荷分散とか非常におもしろそう。
サーバには設置できませんが、ローカルで試すことにしました。
とりあえず、Mac OS Xにインストールしてみて、Hello, World!まで実行。
設定を変えて、URLによってハンドラを変えてみたりしてみました。
●Getting Started
Getting Startedにしたがって進めます。
●開発環境
SDKをダウンロードして、インストーラにしたがってインストールします。
/usr/local/google_appengine
に一式インストールされ、
/usr/local/google_appengine/dev_appserver.py
/usr/local/google_appengine/appcfg.py
にコマンド(のリンクファイル)が設置されるので、パスが通った状態になります。
Mac OS Xだと最初からPythonがインストールされているので楽。
●Hello, World!
処理を行うPythonスクリプト(helloworld.py)を作成して、そのスクリプトで処理が行われるように設定ファイル(app.yaml)を書きます。
次は、dev_appserver.pyを実行して、アプリケーションサーバを起動します。Getting Startedでは、
google_appengine/dev_appserver.py helloworld/
でしたが、helloworldディレクトリの中にいて、dev_appserver.pyにもパスが通っているので、
dev_appserver.py .
でOK。
先に進む前に、app.yamlの
handlers:
- url: /.*
script: helloworld.py
を変えて、
handlers:
- url: /test.*
script: test.py
- url: /hello.*
script: helloworld.py
としてみました。
http://localhost:8080/だと、
Not found error: / did not match any patterns in application configuration.
が出ますが、http://localhost:8080/testとかhttp://localhost:8080/helloで始まるURLのときに、それぞれtest.pyかhello.pyで処理が行われます。直感的ですが、URLでマッピングできると。
とりあえず、今日はここまで。
すでに、自ドメインでの提供もできるようなので、早く使えるようにならないかな。