开发者社区> 问答> 正文

Azure为功能应用程序使用python flask框架

我看到Azure现在在功能应用程序中支持Python(预览版)。我有一个现有的Flask应用程序,想知道是否可以在不进行重大更改的情况下将该功能部署为功能应用程序?

我已经通读了在函数应用程序中使用Python的Azure教程(https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-reference-python),但是未使用flask框架...

展开
收起
祖安文状元 2020-02-22 17:48:23 1014 0
1 条回答
写回答
取消 提交回答
  • 我尝试了不同的方法来将Azure Python功能与​​Flask框架集成在一起。最后,我做到了,我叫HttpTrigger功能成功TryFlask通过app.test_client()。

    这是我的示例代码,如下所示。

    import logging
    import azure.functions as func
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    @app.route('/hi')
    def hi():
        return 'Hi World!'
    
    @app.route('/hello')
    @app.route('/hello/<name>', methods=['POST', 'GET'])
    def hello(name=None):
        return name != None and 'Hello, '+name or 'Hello, '+request.args.get('name')
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        logging.info('Python HTTP trigger function processed a request.')
        uri=req.params['uri']
        with app.test_client() as c:
            doAction = {
                "GET": c.get(uri).data,
                "POST": c.post(uri).data
            }
            resp = doAction.get(req.method).decode()
            return func.HttpResponse(resp, mimetype='text/html')
    
    

    为了测试在本地和天青,访问的URL /,“/ HI”和/hello通过URL http(s)://<localhost:7071 or azurefunchost>/api/TryFlask查询字符串?uri=/,?uri=/hi并?uri=/hello/peter-pan在浏览器中,并做POST了相同的URL方法上面的查询字符串?uri=/hello/peter-pan,这些都是工作。请在下面的本地图中查看结果,在云上也是如此。

    2020-02-22 17:48:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载