使用python的Azure函数是否支持函数过滤器?

2024-10-01 02:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在调用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函数中实现这一点


Tags: 函数httpscomyou参数wwwarticlefunction
1条回答
网友
1楼 · 发布于 2024-10-01 02:27:49

不幸的是,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

相关问题 更多 >