Azure函数Python错误-没有作业函数

cuxqih21  于 2023-03-09  发布在  Python
关注(0)|答案(1)|浏览(130)

我尝试使用python在本地运行我的Azure Functions,收到的错误消息如下:

[2023-03-03T11:34:59.832Z] No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup 
code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).

我用这个命令创建了我的项目,并且没有在生成的代码中做任何修改:

func init LocalFunctionProj --python -m V2

当我尝试使用此命令运行应用程序时,我会收到上面提到的错误消息:

func start --verbose

我正在python v3. 10上运行这个。而且,当我试图创建v1 python函数时,它工作起来没有任何问题。
知道为什么会这样吗?

jecbmhm3

jecbmhm31#

使用相同的命令,我已经在我的本地环境-Python 3.10.10 v2模型Azure Functions Project中创建并测试了:

在终端中,使用cd .\LocalFunctionProj\更改路径以运行函数func start --verbose

我已经为Python v2模型提供了既可在本地运行又可在Azure云中运行的实用解决方案-SO #74671905
错误的原因可能是任何代码文件(如function_app.pylocal.settings.jsonhost.json)中的典型代码错误,或者检查Azurite模拟器是否安装在VS代码扩展中并处于运行状态。

    • 代码片段**:* * 函数_应用程序. py**:
import azure.functions as  func
app = func.FunctionApp()

@app.function_name(name="HttpTrigger1")
@app.route(route="hello") # HTTP Trigger
def  test_function(req: func.HttpRequest) -> func.HttpResponse:
return  func.HttpResponse("HttpTrigger1 function processed a request!!!")
    • 要求. txt**
azure-functions
    • 本地设置. json**:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
}

host.json

{
"version": "2.0",
"logging": {
"applicationInsights": {
    "samplingSettings": {
    "isEnabled": true,
    "excludedTypes": "Request"
    }
}
},
"extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.15.0, 4.0.0)"
    }
}

如果所有代码和配置都正确,请尝试激活虚拟环境(Python article),然后运行函数:

py -m pip install --user virtualenv
py -m venv env
.\env\Scripts\activate
func start --verbose

相关问题