Windows Azure Web サイトで Python

とりあえず Python を実行する方法。

ConfigurePython.py というファイルを作ります。

#coding:utf-8
def application(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
yield 'こんにちは\n'

/site/wwwroot/sample 以下に Python ファイルを置くものとします。ConfigurePython.py を配置。

これだけでは、動かないので……。

Azure 管理ポータルで設定

https://manage.windowsazure.com の Web サイトの「構成」を開き、次の値を設定します。

アプリケーション設定

azure-app-config

[table]
キー,値
PYTHONPATH,D:homesitewwwrootsample
WSGI_HANDLER,ConfigurePython.application
[/table]

sample ディレクトリと、ConfigurePython.py の application を指定。

WSGI_LOG と D:homesitewwwrootsampleerror.log のように追加すれば、エラーログを出力できます。

ハンドラーマッピング

azure-app-handler
[table]

拡張,スクリプト プロセッサ パス,追加の引数
/sample/*,D:python27python.exe,D:python27scriptswfastcgi.py
[/table]

/sample/* なので sample 以下のアクセスは全部 ConfigurePython.py の内容が実行されます。

Web.config

Web.config を利用する方法もあります。

Configuring Python with Azure Web Sites

クエリーを受け取る

sample/?val=Ruby のようにアクセスして値を受け取る

#coding:utf-8
import cgi
def application(environ, start_response):
fs = cgi.FieldStorage(environ=environ, fp=environ['wsgi.input'])
value = fs.getfirst('val', 'Python')
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
yield 'こんにちは {0}\n'.format(value)

WSGI でなんかつくってみる #python_adv — Python Web Framework Advent Calendar 2012 1.0.0 documentation が参考になりました。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク