Azure为功能应用程序使用python flask框架-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

祖安文状元 2020-02-22 17:48:23 42

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

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

Python
分享到
取消 提交回答
全部回答(1)
  • 祖安文状元
    2020-02-22 17:48:37

    我尝试了不同的方法来将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,这些都是工作。请在下面的本地图中查看结果,在云上也是如此。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程