Skip to main content

Python メモ – Azure App ServiceでのFlask起動コマンドカスタマイズ

Azure App ServiceにFlaskアプリケーションをデプロイしても、デフォルトの画面から更新されずにハマったのでメモ。

デフォルトの挙動

Azure App Serviceでは、flaskアプリケーションはapplication.pyapp.pyを探して起動しているようだ。起動に実行されるコマンドは以下の通り。

# application.pyの場合
gunicorn --bind=0.0.0.0 --timeout 600 application:app
# app.pyの場合
gunicorn --bind=0.0.0.0 --timeout 600 app:app

ファイル名が異なる場合は、起動コマンドをカスタマイズする必要がある。

起動コマンドのカスタマイズ

# hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

上のファイルhello.pyを起動するには、次のコマンドを実行して起動コマンドをカスタマイズする。

az webapp config set --name <アプリ名> --resource-group <リソースグループ名> --startup-file "gunicorn --bind=0.0.0.0 --timeout 600 hello:app"

参考情報

https://docs.microsoft.com/en-us/azure/app-service/containers/how-to-configure-python