使用 Azure DevOps 将 Azure Function(隔离进程)部署到 Azure 不起作用

Mar*_*ouk 2 azure azure-devops azure-functions azure-function-app .net-5

目前,Microsoft 引入了一种处理 Azure 函数的新方法,称为隔离进程,它是在 .NET5 上运行 Azure 函数的唯一方法。

我正在尝试通过 Azure DevOps 将已在本地计算机上正确运行的函数应用程序部署到 Azure Func 应用程序。部署成功,但是功能不起作用。

首先在部署任务中我看不到 .NET 5,如下所示:

但我可以在此处的链接中看到支持 .NET 5 作为预览版:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-versions#languages

部署后,我可以看到以下错误:

但我将配置更改为:

该函数还显示了此错误:

我还可以从这里看到该函数已在 .NET 5 上运行:

所以不确定如何正确部署它。我知道隔离的进程功能只需要 azure 功能工具 + 运行命令行,所以不确定如何部署它,而且 Microsoft 没有任何关于如何部署它的教程或文档?

Mar*_*ouk 6

我找到了解决方案。问题是 Microsoft 不支持在 Linux 计划上运行独立进程功能。

同样如下所示,您还无法从 Azure 门户创建独立的流程函数(2021 年 3 月 17 日),因此我必须自己创建它,如下所示:

az group create --name {resoucrce-group} --location {location}
Run Code Online (Sandbox Code Playgroud)

然后

az storage account create --name {storage-name} --location {location} --resource-group {resoucrce-group} --sku Standard_LRS
Run Code Online (Sandbox Code Playgroud)

然后创建函数:

az functionapp create --resource-group {resoucrce-group} --consumption-plan-location {location} --runtime dotnet-isolated --runtime-version 5.0 --functions-version 3 --name {name} --storage-account {storage-name}
Run Code Online (Sandbox Code Playgroud)

现在,从 DevOps 门户,您可以在 Windows 上部署普通的应用程序功能,我们开始吧。