Azure functions deploying fail from VS Code

Rah*_*hul 8 azure-functions azure-functions-core-tools

I am trying to deploy my azure function (python) from VS code and it's giving the below error.

I was able to debug my code in my local machine without any error, and I am not understanding why deployment is failing.

11:55:51 PM nhtsacleanse:正在检测平台... 11:55:51 PM nhtsacleanse:错误:哎呀...发生了意外错误。 11:55:53 PM nhtsacleanse:/opt/Kudu/Scripts/starter.sh oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.7 -p packagedir=.python_packages /lib/site-packages 11:55:57 PM nhtsacleanse:部署失败。

在此输入图像描述

Created azure function app in azure portal

在此输入图像描述

在此输入图像描述

在此输入图像描述

Jas*_* D. 5

这对我来说是解决问题的最短路径。这个参考:

键示例值 AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#azurewebjobsstorage

引导我检查我的 azure 函数应用程序配置:

在此输入图像描述

并发现 AzureWebJobsStorage 丢失了。

当我之前尝试部署函数时,我已经创建了一个存储帐户,显然,部署步骤为我创建了存储帐户,但未能将该存储帐户添加到函数应用配置中。

我从以下位置检索了连接字符串:

存储帐户 -> 访问密钥 -> 连接字符串

并使用 AzureWebJobsStoage 配置设置的源值中的值。

添加该配置后,我可以在打开 Azure Function App 工作区的情况下从 Visual Studio Code 运行以下命令:

func azure functionapp 发布文本到图像 --build 远程

并收到一封确认信,内容如下:

部署成功。远程构建成功!


小智 5

如果您遇到此问题,则意味着您的存储帐户连接字符串与函数应用连接字符串不同。

要确认,您可以检查函数应用配置:

在此输入图像描述

并检查存储帐户连接字符串:

在此输入图像描述

一种方法是将存储帐户的相同连接字符串添加到函数应用程序中,或者仅在此存储中创建新的函数应用程序。

注意:当我们意外删除存储帐户但函数应用仍在使用该存储帐户的连接字符串时,会出现此错误。


Hur*_*hen 4

根据我的经验,通过单击 VS Code 中的按钮来部署功能有时可能会出现意外的错误消息。您可以使用命令来部署您的函数func azure functionapp publish <functionAppName> --build remote

在 VS Code 中运行命令之前,您需要先在 Azure 门户上创建一个函数应用。当您在门户上创建函数应用程序时,请选择 python 3.7,如下图所示(以避免版本问题),因为您本地的 python 函数似乎是 3.7。然后在 VS code 的“终端”窗口中运行命令,将代码从本地部署到 azure。我通常使用这种部署方法并且总是工作正常。

在此输入图像描述

  • @Rahul 看来你的 Azure 上的函数应用程序缺少“AzureWebJobsStorage”,您能否检查一下您创建的函数应用程序是否具有像这样的“AzureWebJobsStorage”[屏幕截图](https://i.stack.imgur.com/uZ1kX.png) ? (2认同)