在 Azure 门户中哪里可以找到 python 3.11 的 Azure Functionapp 部署错误

问题描述 投票:0回答:1

我想将本地 python 3.11 项目移动到 Azure Functionapp。部署过程中某处发生错误,例如

ModuleNotFoundError
。我认为这是因为可以在本地安装的软件包无法安装在 Azure Functionapp 上。我在Azure Portal中找不到错误,所以我不知道哪里出了问题。

我创建了一个基本的示例应用程序来演示我的问题

我查看了

Application Insights
->
Logs
->
traces
。它表明我找到了唯一的 HTTP 端点,但尚未加载。它没有说为什么。

日志流显示没有错误。

我设法在门户深处找到了我的错误,位于

Diagnose and solve problems
->
Availability and Performance
->
Functions that are not triggering
。这里显示
ModuleNotFoundError: No module named 'somenonexistingmodule'
。然而,这些日志似乎至少延迟了 15 分钟,因此每次部署后我都必须等待 15 分钟才能找出问题所在。

是否有可能立即出现任何部署错误?当函数由于错误而不想加载时,为什么部署过程不会抛出错误?

python azure azure-functions azure-application-insights azure-deployment
1个回答
0
投票

确保您在函数应用程序中使用有效的 pip 模块进行部署,此外,在您的代码中,您只是导入一个模块,而不是在函数代码中的任何地方使用它。为了解决您的错误,请确保您的requirements.txt 文件中包含有效的模块。另外,尝试在本地运行该函数以获取错误。

My Function code:-

我使用pandas作为外部模块。

import azure.functions as func
import logging
import pandas

app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)

@app.route(route="http_trigger")
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
    else:
        return func.HttpResponse(
             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
             status_code=200
        )

我的

requirements.txt
:-

azure-functions
pandas

输出:-

单击

f5 or fn+f5
在本地运行函数触发器或在终端中运行
func host start
命令:-

enter image description here

部署后:-

enter image description here

对于日志记录和监控,请参阅我的 SO 答案 1SO 答案 2 以正确获取日志。

您可以从日志分析工作区中保存日志的日志部分检查日志:-y

traces

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.