とりあえず Python を実行する方法。
ConfigurePython.py というファイルを作ります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 サイトの「構成」を開き、次の値を設定します。
アプリケーション設定
[table]
キー,値
PYTHONPATH,D:homesitewwwrootsample
WSGI_HANDLER,ConfigurePython.application
[/table]
sample ディレクトリと、ConfigurePython.py の application を指定。
WSGI_LOG と D:homesitewwwrootsampleerror.log のように追加すれば、エラーログを出力できます。
ハンドラーマッピング
拡張,スクリプト プロセッサ パス,追加の引数
/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 のようにアクセスして値を受け取る
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 が参考になりました。