2 月 4th, 2010 | joe | No Comments Yet

こんにちわ、Joeです。

Google App Engineのデプロイはforce.comと同様、非常に手軽で、クラウド開発の恩恵を体感できます。Python版でUnix/Linux系OSやWindowsの場合、基本的にコンソールでappcfg.pyを叩いてデプロイします。※Pythonアプリケーションのアップロードと管理参照

しかし、Mac OS XのSDKだけGoogleAppEngineLauncher.appというapp形式になっているので/usr/local/binにappcfg.pyが作られないようです。EclipseにPyDevを入れた環境であればプロジェクトのメニューに「PyDev: Google App Engine」というメニューがあって、そこからアップロードやその他の管理コマンドを入力できます。Java版はEclipse環境の場合「Deploy Project to Google App Engine」というボタンがありますので更に楽ですね。

ただ、たまに以下のようなエラーではじかれる場合があります。

Error 403: — begin server output —
You do not have permission to modify this app.
— end server output —

同じソースコードをapp.yamlのapplication: だけ変更して違うアプリケーションIDのところへデプロイしようとした時によく出ます。これ実はappcfg.pyがcookieを利用して前回入力したアカウントを記憶しているので、cookieに保存されているアプリケーションIDとapp.yamlに記述されたアプリケーションIDが異なっていることが原因です。

これを回避するには–no_cookiesオプションを付与します。こうすればcookieを利用しないでデプロイ可能です。

appcfg.py update --secure --no_cookies <application path>

Leave a reply

We love to hear your views.