Azure 应用服务Python fastapi Function在Azure

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure 应用服务Python fastapi Function在Azure相关的知识,希望对你有一定的参考价值。

问题描述

参考文档“Using FastAPI Framework with Azure Functions”, 使用FastAPI 模块在Function中实现API请求。通过VS Code本地运行成功。

【Azure

但是部署到Azure Function App后,遇见了如下错误:

[2023-01-30T09:23:15.474Z] Executing Functions.WrapperFunction (Reason=This function was programmatically called via the host APIs., Id=f49afe7c-b128-463e-0e93-c2f41f15bbde)
[2023-01-30T09:23:15.588Z] Executed Functions.WrapperFunction (Failed, Id=f49afe7c-b128-463e-0e93-c2f41f15bbde, Duration=145ms)
[2023-01-30T09:23:15.588Z] System.Private.CoreLib: Exception while executing function: Functions.WrapperFunction. System.Private.CoreLib: Result: Failure
[2023-01-30T09:23:15.588Z] Exception: AttributeError: AsgiMiddleware object has no attribute handle_async

 

关于AttributeError: AsgiMiddleware object has no attribute handle_async错误,有什么办法来解决呢?

问题解决

根据在Github上寻找到相同错误的Issue分析,这个错误与Python的版本有关,在Python 3.9有遇见,但升级使用Python 3.10时,问题得到解决。

此外,Function App也提供了另外一种方式来解决该问题:设置应用配置 PYTHON_ISOLATE_WORKER_DEPENDENCIES 的值为 1 。

可以参考下图,在Azure Function App的门户中,设置 PYTHON_ISOLATE_WORKER_DEPENDENCIES 

【Azure

 

参考资料

AttributeError: AsgiMiddleware object has no attribute handle_async when running locally #7:​​https://github.com/Azure-Samples/fastapi-on-azure-functions/issues/7​

 

[END]

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!



以上是关于Azure 应用服务Python fastapi Function在Azure的主要内容,如果未能解决你的问题,请参考以下文章

python fastapi 返回echart

FastAPI 1:安装FastAPI

搭建ASGI高性能web服务器FastAPI,python

搭建ASGI高性能web服务器FastAPI,python

FastAPI文件FileResponse对外http下载服务器,python

使用 FastAPI 在基于 Python 的 GraphQL 服务器中进行身份验证