トップページ| サイトマップ|

クラウドについて

工事中、現在進行形

無料レンタルサーバーのようにGoogleの環境を使わせていただきませう。



その他、主要なクラウド環境

     Windows Azure

     Amazone EC2

TOP

App Engineを準備する

工事中、現在進行形

Googleサイトに、App Enginのアカウントを作る.

スタートガイドの1で、アカウント作成画面に移動。

GMailのユーザ、パスワードでログイン。

携帯のキャリアを選ぶ。

usernameを聞いてきますが、ここではメールのアカウントを入れます。

次のステップに移ると、ナンバーを入れろと言ってきますが、このナンバーは 先ほどの携帯のメールに送られてきたものを入れます。

ナンバーを入れて次に画面に移って、アカウント名とアプリケーション名を入れます。

これで、Googleサイト内に、あなたのアカウントと空のアプリが1つ作成されます。

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のアカウントのアプリケーション名が「otamesi」だったとします。

App Engineをインストールした、C:\Program Files\Google\google_appengineに、「otamesi」という名前でフォルダー作成。

この中に、必要なファイルを2つ作ります。

helloworld.pyというPythonスクリプトファイルと、app.yamlという設定ファイルです。

内容は、上記スタートガイド参照

補足:
app.yamlの中で、applicationは上で作ったアプリケーション名(otamesi)と同じにしておきます。

では、動作を確認します。まずは、SDKのLauncherを使わず、WindowsのDOSプロンプトを使います。

DOS窓を開いて、C:\Program Files\Google\google_appengineに移動。

>dev_appserver.py otamesi/

を実行。

以下のようになります。



App EngineのWebサーバーがポート8080でリッスンしている状態。

で、ブラウザーを開いて、http://localhost:8080にアクセス。

Hello World!が表示されたら成功。

Googleの環境で見てみる

作った実行ファイルをGoogleのApp Engineアカウントにアップロードしてみます。

先のようにDOS窓を開いて、以下のコマンドを実行します。

>appcfg.py update otamesi

ここでは、ディレクトリを見に行っています。

うまく見つかれば、GMailのアドレスとパスワードを聞いてきます。

認証されれば、アップロードが開始されます。

終了後、以下のアドレスにアクセスすれば確認できます。

http://<アプリケーション名(otamesi)>.appspot.com/

サンプルのチャットをアップしてみました(いいのか?)

こんな感じです



フレームワークを使ってみる

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

GAEで使えるライブラリ

webapp Framework:HTTPリクエスト処理

Datastore API:データベース入出力(GoogleのBigTable)

Image API:拡大・縮小などの画像処理

Memcache API:データをメモリにキャッシュ(処理の高速化)

URL Fetch API:指定したURLからデータを取得

Users API:Googleアカウントを使ったユーザー認証

GData Service:他のGoogleのサービスからデータを取得

TOP