2024-10-01 02:27:49 发布
网友
我想在调用azure函数时运行预/后处理逻辑。目前我有4-5个azure函数,它们应该使用相同的预/后处理逻辑运行(只有参数会更改)
这篇文章解释了用C#::https://www.c-sharpcorner.com/article/do-you-know-azure-function-have-function-filters/实现它的一种方法
Comparison says no support for python language
我应该如何在python函数中实现这一点
不幸的是,python中没有这样的过滤器概念(类似asp.NETMVC)。即使对于C#,函数中的过滤器也处于预览状态(这很可能会更改)
或者,您可以使用wsgi应用程序,它现在在Python函数应用程序中受支持。您可以使用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
不幸的是,python中没有这样的过滤器概念(类似asp.NETMVC)。即使对于C#,函数中的过滤器也处于预览状态(这很可能会更改)
或者,您可以使用wsgi应用程序,它现在在Python函数应用程序中受支持。您可以使用wsgi应用程序覆盖函数的主入口点
或者,更明确地维护函数入口点
有关这方面的更多详细信息,请参阅this
一旦连接好wsgi集成,就可以使用包装器应用程序(如Flask)来实现中间件中的公共预/后处理逻辑(如过滤器)。请参阅Hooking in WSGI Middleware
相关问题 更多 >
编程相关推荐