gpt4 book ai didi

azure - 在 azure 函数上部署现有的 python FastAPI 项目

转载 作者:行者123 更新时间:2023-12-03 03:25:03 25 4
gpt4 key购买 nike

我正在尝试使用 VSCode 在 azure 函数上部署现有的快速 API 应用程序。

我收到此错误:

No HTTP triggers found 

我的项目结构:

enter image description here

这是function.json的内容

{
"scriptFile": "backend/main.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
],
"route": "{*route}"
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
]
}

Main.py 文件,我添加了 azure 函数处理程序。

import logging
import azure.functions as func

from apis.base import api_router
from core.config import settings

from db.base import Base
from db.session import engine
from db.utils import check_db_connected
from db.utils import check_db_disconnected
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from webapps.base import api_router as web_app_router


def include_router(app):
app.include_router(api_router)
app.include_router(web_app_router)


def configure_static(app):
app.mount("/static", StaticFiles(directory="static"), name="static")


def create_tables():
Base.metadata.create_all(bind=engine)


def start_application():
app = FastAPI(title=settings.PROJECT_NAME, version=settings.PROJECT_VERSION)
include_router(app)
configure_static(app)
create_tables()
return app


app = start_application()


async def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
await check_db_connected()
try:
body = await req.get_body()
return func.HttpResponse(str(body))
except Exception as e:
logging.exception('Error')
return func.HttpResponse("Error", status_code=500)

await check_db_disconnected()

这里有我错过的东西吗?

我尝试部署一个虚拟 api,并且成功了。更改了我的项目中的目录结构,但仍然无法将其部署到 azure 函数。

最佳答案

未找到 HTTP 触发器

如本期 #[75877908]( Can’t see C# Azure Function when deployed on Azure - Stack Overflow ) 所示用户 @HariKrishna 出现上述错误,应添加一个应用程序设置以获取 Azure Function App 中的函数适用于任何语言运行时的持续部署场景。

该应用程序设置是:

SCM_DO_BUILD_DURING_DEPLOYMENT: true

enter image description here

我们无法更改 Azure Functions 项目的默认文件夹结构,因为它已按照 MS Doc 中给出的内容进行修复。和临时解决方案如workaround所示由同一用户使用。

关于azure - 在 azure 函数上部署现有的 python FastAPI 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75880117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com