Google App Engine
トップページ| サイトマップ|
クラウドについて
工事中、現在進行形
無料レンタルサーバーのようにGoogleの環境を使わせていただきませう。
その他、主要なクラウド環境
Windows Azure
Amazone EC2
TOP
App Engineを準備する
工事中、現在進行形
Googleサイトに、App Enginのアカウントを作る.
スタートガイドの1で、アカウント作成画面に移動。
GMailのユーザ、パスワードでログイン。
携帯のキャリアを選ぶ。
usernameを聞いてきますが、ここではメールのアカウントを入れます。
次のステップに移ると、ナンバーを入れろと言ってきますが、このナンバーは
先ほどの携帯のメールに送られてきたものを入れます。
ナンバーを入れて次に画面に移って、アカウント名とアプリケーション名を入れます。
これで、Googleサイト内に、あなたのアカウントが作成されます。
Googleの本番環境を使う前に、エミュレーターでアプリケーションテスト
エミュレーターには、Java版とPython版があります。
ちなみに、Google社の標準言語は、Java・C++・Pythonだそうな。
OpenCVとの絡みもあるので、ここでは、「Google App Engine for Python」を使うことにします。
Python 2.5.xをインストール。
下の、SDKインストール時に、Python2.5をダウンロードするボタンが出ますので、そこからダウンロードしてインストール。
Googleの環境をエミュレートする
Google App Engine SDK
SDKをダウンロードしてインストールしてください。
Windiwsの場合、デフォルトのインストール場所は、
C:\Program Files\Google\google_appengine
です。
お約束の「HelloWorld」でテスト
Python用のスタートガイドはこちら
ただ、少し分かりにくいところもあるので、補足がてら説明します。
まずは、プロジェクト用のフォルダーを作ります。
App Engineをインストールした、C:\Program Files\Google\google_appengineに、「helloworld」という名前でフォルダー作成。
この中に、必要なファイルを2つ作ります。
helloworld.pyというPythonスクリプトファイルと、app.yamlという設定ファイルです。
内容は、上記スタートガイド参照
では、動作を確認します。まずは、SDKのLauncherを使わず、WindowsのDOSプロンプトを使います。
DOS窓を開いて、C:\Program Files\Google\google_appengineに移動。
>dev_appserver.py helloworld/
を実行。
以下のようになります。
App EngineのWebサーバーがポート8080でリッスンしている状態。
で、ブラウザーを開いて、http://localhost:8080にアクセス。
Hello World!が表示されたら成功。
フレームワークを使ってみる
App Engineで使えるフレームワークには以下のものがあります。
PHPならCakePHPなどが有名ですが、Pythonの場合、以下のようなものが使えるそうです。
Django
CherryPy(素のままでは動かないというレポートあり)
Pylons
web.py(素のままでは動かないというレポートあり)
webapp(App Enginに同梱)
まずは、簡単に動作を見てみるということで、webappを使ってみます。
先ほどのhelloworld.pyを書き直してみます。
Pythonのコードって感じです。
-------------------------------------------
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
-------------------------------------------
他のフレームワークを試してみます。
Googleにも公式ページがあって、手間もあまりかかりそうにない...ということで
Djangoを使ってみます。
TOP