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 サイトの「構成」を開き、次の値を設定します。
アプリケーション設定
| キー | 値 |
|---|---|
| PYTHONPATH | D:\home\site\wwwroot\sample |
| WSGI_HANDLER | ConfigurePython.application |
sample ディレクトリと、ConfigurePython.py の application を指定。
WSGI_LOG と D:\home\site\wwwroot\sample\error.log のように追加すれば、エラーログを出力できます。
ハンドラーマッピング
| 拡張 | スクリプト プロセッサ パス | 追加の引数 |
|---|---|---|
| /sample/* | D:\python27\python.exe | D:\python27\scripts\wfastcgi.py |
/sample/* なので sample 以下のアクセスは全部 ConfigurePython.py の内容が実行されます。
Web.config
Web.config を利用する方法もあります。
Configuring Python with Azure Web Sites(Web アーカイブ)
クエリーを受け取る
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)



