我想在调用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函数中实现它?
发布于 2020-10-30 22:42:33
不幸的是,python中没有这样的过滤器概念(类似于asp.net MVC )。即使对于C#,filter in函数也处于预览状态(可能会发生变化)。
或者,您可以使用现在Python函数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。
https://stackoverflow.com/questions/64588678
复制相似问题