最新バージョンの dev_appserver.py を使用してサポートが終了したランタイムのアプリケーションをローカルで実行することはできません。アーカイブされたバージョンの dev_appserver.py を引き続き使用するには、このガイドの手順に沿って操作してください。
ローカル開発用サーバーを使用すると、本番環境での App Engine アプリケーションの実行をシミュレートすることや、App Engine の以前のバンドル サービスにアクセスすることが可能です。シミュレートされた環境では、システム関数やランタイム言語モジュールによるインポート機能の制限など、サンドボックスにある程度制限がありますが、リクエストのタイムアウトや割り当てには制限がありません。
App Engine 用 SDK のライブラリによって提供される Datastore、Memcache、タスクキューなどのサービスを、ローカル開発用サーバーでローカルに実行してシミュレートすることもできます。アプリケーションが開発用サーバーで動作している場合でも、Google API HTTP エンドポイントを使用して、本番環境のインフラストラクチャに対するリモート API 呼び出しを行えます。
始める前に
アーカイブ バージョンの devapp_server.py をダウンロードする手順は次のとおりです。
アーカイブから、サポートが終了したランタイム用の
dev_appserver.pyサーバーを含む圧縮フォルダをダウンロードします。ディレクトリの内容をローカル ファイル システム(
/homeディレクトリなど)に解凍します。dev_appserver.pyはgoogle_appengine/ディレクトリにあります。
ローカル開発用サーバーをセットアップする
ローカル開発用サーバーツールを実行するには、次の設定を行う必要があります。
バージョン 2.7.12 以降の Python 2 インタープリタがインストールされていることを確認します。
シェル内の
DEVAPPSERVER_PYTHON環境変数を Python 2 インタープリタのパスに設定します。ダウンロードしたアーカイブを解凍した
/google_appengine/フォルダの下にあるdev_appserver.pyツールを確認します。次に例を示します。DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
ローカル開発用サーバーを実行する
ローカル開発用サーバーを設定し、アプリの app.yaml 構成ファイルを作成した後、dev_appserver.py コマンドを使用すると、アプリをローカルで実行できます。
ローカル開発用サーバーを起動するには:
--port オプションでカスタムポートを指定した場合は、そのポートでブラウザを開くようにしてください。
ローカル サーバーをコマンドラインから停止するには、次のキーを押します。
- macOS または Linux: Control+C
- Windows: Ctrl+Break
アプリケーション ID の指定
アプリケーションのランタイム環境の検出
ローカル Datastore サービスの使用
メールサービスの使用
ローカル開発用サーバーは、SMTP サーバーまたはローカルにインストールされた Sendmail を使用して、呼び出しのメールを App Engine のメールサービスに送信できます。
SMTP の使用
SMTP サーバーを使用してメールサポートを有効にするには、次のように dev_appserver.py を呼び出します。
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
--smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP
次のように置き換えます。
- DEVAPPSERVER_ROOT は、
devapp_server.pyのアーカイブ バージョンを解凍するフォルダのパスに置き換えます。 --smtp_host、--smtp_port、--smtp_user、--smtp_passwordオプションは、独自の構成値に置き換えます。- PATH_TO_YOUR_APP は、アプリケーションのパスに置き換えます。
Sendmail の使用
Sendmail でメールサポートを有効にするには、次のように dev_appserver.py を呼び出します。
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP
次のように置き換えます。
- DEVAPPSERVER_ROOT は、
devapp_server.pyのアーカイブ バージョンを解凍するフォルダのパスに置き換えます。 - PATH_TO_YOUR_APP は、アプリケーションのパスに置き換えます。
ローカル サーバーは、sendmail コマンドを使用して、インストールのデフォルト構成でメールを送信します。
URL 取得サービスの使用
アプリケーションが URL 取得 API を使用して HTTP リクエストを送信する場合、ローカル開発用サーバーはデベロッパーのコンピュータからリクエストを直接送信します。プロキシ サーバーを使用してウェブサイトにアクセスしている場合、ローカル サーバーでの URL 取得の動作は本番環境の App Engine と異なることがあります。
ユーザー サービスを使用する
App Engine には、アプリケーションの認証と認可を簡素化するためのユーザー サービスが用意されています。ローカル開発用サーバーは、独自のログインページとログアウト ページで Google アカウントの動作をシミュレートします。
コマンドライン引数
ローカル開発用サーバーのコマンド オプションについては、ローカル開発用サーバーのオプションをご覧ください。