Google Code が利用できる言語: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
Google App Engine for Python へようこそ。App Engine では、Python プログラミング言語を使用して Web アプリケーションを作成できます。また、開発者が最高レベルの Web アプリケーションの作成に使用する Python 用の多数のライブラリ、ツール、フレームワークを利用できます。作成した Python アプリケーションは Google のスケーラブルなインフラストラクチャ上で実行され、大規模な永続的ストレージとサービスを利用できます。
まだご覧になっていない方は、Python スタート ガイドをご覧ください。Web アプリケーションを Python と Google App Engine を使用して開発する方法がインタラクティブに説明されています。
Python Web アプリケーションは、CGI プロトコルを使用して App Engine Web サーバーと通信します。アプリケーションは CGI アダプタを使用して WSGI 準拠の Web アプリケーション フレームワークを使用します。App Engine には webapp と呼ばれるシンプルな Web アプリケーション フレームワークが用意され、簡単に使い始められます。大規模なアプリケーションに対しては、Django などの開発が進んだサードパーティ フレームワークを App Engine と使用できます。
App Engine は Python 2.5 をサポートしています。Python インタープリタは安全な「サンドボックス」環境で実行され、作成したアプリケーションのサービスとセキュリティを切り離します。インタープリタはあらゆる Python コードを実行できます。自分のアプリケーションに含めた Python モジュールも、Python 標準ライブラリも実行できます。インタープリタは純粋な Python 環境であるため、C コードが記述された Python モジュールを読み込めません。
サンドボックスで実行するアプリケーションでは、他のアプリケーションのパフォーマンスやスケーラビリティに影響を及ぼす処理は実行できません。たとえば、アプリケーションはローカル ファイル システムにデータを書き込めず、ネットワークに自由に接続することもできません。その代わり、アプリケーションは App Engine が提供するスケーラブルなサービスを使用することで、データを保存してインターネット上で通信を行います。Python インタープリタは、アプリケーションがサンドボックス制限内では機能しないモジュールを標準ライブラリからインポートしようとすると、例外を発生させます。
詳細は CGI 環境をご覧ください。
App Engine のデータストアは、信頼性が高くスケーラブルな永続データ ストレージとして使用できます。App Engine データストアへの Python API には、データ スキーマ管理用の機能豊富なデータ モデリング ツールが付属しています。API ではデータストアのクエリに 2 つのインターフェースをサポートしています。その 1 つの GQL は SQL に類似したクエリ言語で、管理コンソールでも使用されます。
App Engine の Memcache は、データストア クエリや計算の結果を一時的にキャッシュするための高速分散ストレージを提供します。App Engine memcache への Python インターフェースは、Python Memcached API と互換性があります。
アプリケーションは、URL フェッチ サービスを使用して Web 経由でリソースにアクセスし、HTTP および HTTPS プロトコルで他のホストと通信します。Python アプリケーションは urllib、urllib2、または httplib モジュールを Python 標準ライブラリから使用して、このサービスにアクセスしたり、App Engine URL フェッチ サービス API を使用したりできます。
アプリケーションで メール サービスを使用すると、アプリケーションの管理者やログインしているユーザの代わりにメール メッセージを送信できます。
アプリケーションで 画像サービスを使用すると、画像データをさまざまな形式に変換したり、切り抜き、回転、サイズ変更、色調補正などの処理を施したりできます。
アプリケーションから Google アカウントを使用することで、ユーザー認証を行えます。Google アカウントは、ユーザー アカウントの作成とログインを処理します。すでに Google アカウント(たとえば Gmail アカウント)を持っているユーザーは、アプリケーションでもそのアカウントを使用できます。アプリケーションでは、ユーザーのログインを検出したり、そのユーザーのメール アドレスにアクセスしたりできます。Python API はユーザー データをオブジェクトに返し、このオブジェクトを直接データストアに保存できます。
アプリケーションでは、スケジュール タスクを設定することで、指定した間隔でアプリケーションの URL を呼び出すことができます。詳しくは、cron ジョブを使用したスケジュール タスクをご覧ください。
App Engine Python SDK には、アプリケーションのテスト、アプリケーション ファイルのアップロード、データストア インデックスの管理、ログ データのダウンロード、大量のデータのデータストアへのアップロードに使用するツールが含まれています。
開発用サーバーは、ローカル コンピュータ上でアプリケーションを実行し、アプリケーションをテストします。開発サーバーは、App Engine のデータストア、サービス、サンドボックス制限をシミュレートします。開発サーバーでも、アプリケーションのテスト中に実行されるクエリに基づいて、データストア インデックスの設定を生成できます。
appcfg.py という多目的ツールが、App Engine で実行されるアプリケーションと対話するためのすべてのコマンドライン操作を処理します。appcfg.py はアプリケーションを App Engine にアップロードしたり、または単にデータストア インデックス設定を更新してコードの更新前に新しいインデックスを構築したりできます。また、アプリケーションのログ データをダウンロードして、任意のツールでアプリケーションのパフォーマンスを分析することも可能です。
Python SDK にはデータ アップロード ツールが含まれており、ローカル データ ファイルのデータをアプリケーションのデータストアに追加できます。このツールは CSV ファイルからデータを抽出できます。CSV は Google ドキュメントまたは Microsoft Excel などの一般的なスプレッドシート ソフトウェアでサポートされているスプレッドシート形式です。CSV ファイルのデータストア エンティティへの Python コードを使用した変換方法をカスタマイズできます。