「Google App Engine」カテゴリーアーカイブ

[Google App Engine] 認証してみよう

Google App Engineでは非常に簡単にGoogle Accountsを利用する事ができます。

import cgi
import datetime
import wsgiref.handlers

from google.appengine.ext import db
from google.appengine.api import users
from google.appengine.ext import webapp

class MyHandler(webapp.RequestHandler):
  def get(self):
    user = users.get_current_user()
    if user:
      greeting = ("Welcome, %s! (<a href="http://blog.daisukeyamashita.com/wp-admin/%5C%22%s%5C%22">sign out)" %
        (user.nickname(), users.create_logout_url("/")))
    else:
      greeting = ("</a><a href="http://blog.daisukeyamashita.com/wp-admin/%5C%22%s%5C%22">Sign in or register</a>." %
        users.create_login_url("/"))

    self.response.out.write("%s" % greeting)

application = webapp.WSGIApplication([
  ('/', MyHandler)
], debug=True)

  def main():
    wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':
  main()

ーーーーーapp.yamlーーーーー
application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
– url: /.*
script: helloworld.py
ーーーーーーーーーー

上記のコードを実行すると、以下のような表示になります。

pass1

早速ログインしてみましょう♪

pass2

・・・なんと、ショボイ!(笑) サーバではちゃんとした認証画面に遷移するようなのですが、ローカルではメールアドレスのみを入力する簡易認証ページだそうです。ログインすると以下のような表示になります。

pass3

Googleが公開しているドキュメントには認証用のページを指定できるという記述がされているのですが、実際にlogin_urlを引数に与えても認証用ページを指定する事はできませんでした。Linux専用の機能なのかな?後で、試してみる事にします。

Google App Engine インストール

 Google App Engineをインストールするには、まずPythonをインストールしておく必要があります。こちらから以下の画像に従ってインストーラをダウンロードしてください。特別な設定は必要ありませんので、普通にインストール作業を進めて下さい。

python1

python2

 Google App EngineのSDKはWindowsのコマンドプロンプトで実行しますので、事前にpython.exeにパスを通しておくと便利です。

 次に、Google App EngineのSDKをこちらからダウンロードしてインストールします。

google app engine

 Google App Engineのインストールに成功したら、いよいよデモアプリの実行です。Windowsのスタートメニューからアクセサリの中にあるコマンドプロンプトを選択して、以下のコマンドを入力して下さい。

> cd c:\Program Files\Google\google_appengine
> python dev_appserver.py demos\helloworld

 成功すると以下のような表示になります。(画像をクリックすると拡大表示します)

console1

 起動に成功したら、ブラウザを起動してhttp://127.0.0.1:8080/にアクセスしてみましょう!以下のようなページが表示されれば成功です。何か入力してみて掲示板のように入力した文字列が記録されるのを確認してみましょう♪

web1

Google App Engineプレリリース

Google App Engine

 一部のメディアからは漏れ聞こえていたGoogle App EngineがCampfire Oneでプレリリースされました。

 500MBのディスク容量と月間500万ページビューを無料で利用可能という事です。(おそらく独自ドメインは有料と思われる)

 Google App Engineでは、AmazonのS3などとは違い、ウェブサービスに必要なすべてのサービスをパッケージで提供するそうです。各メディアの予想どおり、ファイルシステムやデータベース部分はGoogle File SystemBig Tableの技術がベースとなっているそうで、簡単にスケールアウトできるようです。

 現在の所、サポートしているプログラム言語はPure Pythonのみで、c言語で記述されたライブラリなどは利用できないようです。また、ディスクスペースも直接は利用不可のようで、Googleから提供されているライブラリの範囲でのみ利用可能だとの事。

 残念ながら、私はプレリリースのアカウントの取得に間に合わず、アカウントを確保できませんでしたのでドキュメントを読んで、SDKを使う事しかできません。。。

 スタートアップベンチャーでGoogle App Engineを利用しようと考えている方は、アマゾンのようにダウンしない事を祈りましょう。