본문 바로가기

일::개발

Flask on Azure Functions

예전에 "Python으로 Azure에 Serverless 웹 구축하기" 라는 제목으로 Flask 웹 어플리케이션을 Azure Functions에 올리는 방법을 쓴 적이 있는데 (uaremine.tistory.com/9), 오랜만에 다시 봤더니 좀 달라진 것이 있어서 추가한다.

 

WSGI 연동을 위해 이전 글에서는 azf-wsgi 모듈을 이용했는데, MS에서 WSGI 지원하게 되어서 해당 모듈을 deprecate 한다는 공지가 떴다.

자세한 내용은 아래를 참고하면 되고,

github.com/Azure/azure-functions-python-library/pull/45

 

Enable WSGI for Python Function App by Hazhzeng · Pull Request #45 · Azure/azure-functions-python-library

Acknowledgement This feature is migrated from @vtbassmatt 's azf-wsgi project which enables wsgi feature for Azure Functions Python app. We've contacted @vtbassmatt and agreed to implement ...

github.com

요약하면

 

1. __init__.py

import logging

import azure.functions as func
from .wsgi import app

def main(req: func.HttpRequest, context: func.Context) -> func.HttpResponse:
    return func.WsgiMiddleware(app).handle(req, context)

from . import sample

 

2. wsgi.py

from flask import Flask
app = Flask(__name__)

 

3. sample.py

from . import app

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

 

이렇게 해주면 된다.

특별히 달라진 것은 없고, azf-wsgi의 기능을 azure-functions-python-library로 옮겨놓은 것이라고 함.