サイトのトップへ戻る

Google App Engine ドキュメント日本語訳

Hello, World!

短いメッセージを表示する簡単なアプリケーションを実装することから始めましょう。



簡単なリクエストハンドラを作成する

helloworldという名前のディレクトリを作成してください。アプリケーションの全てのファイルはこのディレクトリ内に置きます。

helloworld ディレクトリ内に helloworld.pyという名前のファイルを作成し、それに以下の内容を記述してください:

helloworld.py
View on GitHub
import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')

app = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)

この Python スクリプトではリクエストに対して、コンテンツについて説明したHTTPヘッダとHello, World!メッセージの付いた応答を返します。

注意: 作成したファイルは平文として保存するようにしてください。そうでないとエラーが発生する可能性があります。



設定ファイルを作成する

App Engine アプリケーションはapp.yamlと呼ばれる設定ファイルを持っています。 とりわけ、このファイルではハンドラースクリプトがどのURLに使用されるのかを記述します。

helloworld ディレクタリ内では、以下の内容を記述したapp.yamlという名前のファイルを作成してください。:

app.yaml
View on GitHub
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app

上から順に、この設定ファイルではこのアプリケーションに関する以下の内容について記述しています:

  • これはアプリケーションコードのバージョンナンバー 1を表します。 新しいバージョンのアプリケーションソフトウェアをアップロードする前にこの値を変更した場合、 App Engine は以前のバージョンを保持しておき、管理コンソールを使って以前のバージョンにロールバックできるようになります。
  • このコードはpython27ランタイム環境の、APIバージョン1で動作します。 他のランタイム環境やプログラム言語については、将来的にサポートする予定です。
  • このアプリケーションはthreadsafeなので、同じインスタンスで複数のリクエストを同時に処理できます。 スレッドセーフは高度な機能なので、あなたのアプリケーションがスレッドセーフ向けに設計されていない場合は動作がおかしくなる可能性があります。
  • 正規表現で/.*に合致するパスを持つURL(つまり全てのURL)へのリクエストは、helloworldモジュール内のhelloworldオブジェクトによって処理されます。

このファイルの構造は YAML形式です。 設定オプションの全一覧については app.yamlリファレンスを参照してください。



アプリケーションをテストする

ハンドラースクリプトと、全てのURLとハンドラーを紐付けした設定ファイルの準備ができれば、アプリケーションは完成です。 これで、App Engine Python SDKを持つウェブサーバでアプリケーションをテストできます。

helloworld ディレクトリへのパスを指定した以下のコマンドを使って、ウェブサーバを起動します:

$ <path-to-Python-SDK>/dev_appserver.py helloworld/

これでウェブサーバは動作しており、8080ポートでリクエストを待っています。 ウェブブラウザに以下のURLを入力するとアプリケーションをテストできます。:



反復型開発

アプリケーションを開発している間、ウェブサーバを動作させたままにすることができます。 ウェブサーバはソースファイルの変更を監視し、必要に応じてそれらを再読み込みします。

それでは試してみましょう: ウェブサーバを動作状態にしておき、 helloworld.pyを編集して表示する文字をHello, World! から別の何かに変更してください。 http://localhost:8080/のページをリロードしてください。

ウェブサーバをシャットダウンするには、ターミナルウィンドウをアクティブ状態にして、 ControlキーとCキーを押してください。

以降のチュートリアルの間も、ウェブサーバを起動したままにできます。サーバを停止する必要がある場合でも、前述のコマンドを実行してサーバを再度起動することができます。

webapp2 フレームワークの説明>>