【问题标题】:Is Function Filters supported for Azure functions using python?使用 python 的 Azure 函数是否支持函数筛选器?
【发布时间】:2020-10-29 09:54:15
【问题描述】:
【问题讨论】:
标签:
python
azure
azure-functions
azure-webjobssdk
【解决方案1】:
不幸的是,python 中没有这样的过滤器概念(asp.net MVC 之类)。即使对于 C#,Function 中的过滤器也在预览中(可能会更改)。
或者,您可以使用 Python Function App 现在支持的 wsgi 应用程序。您可以使用 wsgi 应用程序覆盖函数的主入口点。
import logging
import azure.functions as func
from ..FlaskApp.wsgi import application # your flask app
main = func.WsgiMiddleware(application).main
或者,通过更明确地维护函数入口点。
import logging
import azure.functions as func
from ..FlaskApp.wsgi import application # your flask app
def main(req: func.HttpRequest, context: func.Context) -> func.HttpResponse:
return func.WsgiMiddleware(application).handle(req, context)
如需了解更多详情,请参阅this。
一旦你连接了 wsgi 集成,你就可以在中间件(过滤器之类)中使用包装应用程序(如 Flask)来处理常见的前/后处理逻辑。参考Hooking in WSGI Middleware。
【讨论】:
-
我的前置/后置脚本不是 FlaskApp。这仍然有效吗?此外,我还阅读了一些关于 AZ Durable functions 的内容。像 pre script --> ServerlessFunction1 --> post script 这样的链接函数可以满足我的用例,但我必须为所有无服务器函数编写编排器。并且,它将由 DurableTrigger 函数调用。正如example 中所做的那样
-