首页 > 解决方案 > 部署的应用程序函数有空的 host.json 并且没有主机密钥

问题描述

我的 Azure App Function 出现了一个奇怪的问题,我在这方面找不到任何东西。

我在不更改代码的情况下重新发布了我的函数,但突然该函数停止工作,并且在我导航到 Azure 上的函数页面后立即收到此消息:

错误:

检索主密钥时出错。

如果我导航到函数的设置,我可以看到没有生成任何键并且该host.json文件是空的。但是,使用 Kudu 浏览我的函数文件表明文件内容是正确的。

还有两件事让这更奇怪:

  1. 该功能在本地正常工作
  2. 如果我将代码用于另一个函数并将其部署在这个函数上,我的函数可以正常工作,这意味着这不是与我的函数配置相关的问题,而是与它的代码相关的问题

各位大侠有这方面的指点吗?

编辑:

让我添加更多细节。

假设我有 2 个解决方案,A.sln并且B.sln. 我在 Azure 上也有 2 个 App Functions,比如说F_1F_2.

A.sln并且B.sln具有完全相同的结构,唯一的区别在于业务逻辑。同样适用于F_1F_2,它们唯一的区别是相关的存储帐户,因为每个功能都有自己的。

目前正在不断地A.sln部署,F_1并且唯一的工作是. 如果我在 上部署,则开始工作,所以我的想法是' 代码中存在问题,因为使用相同的配置。B.slnF_2F_1A.slnF_2F_2B.slnA.sln

标签: c#azure-functions

解决方案


Function App 在应用程序设置中有对存储帐户的引用AzureWebJobsDashboardAzureWebJobsStorage并且WEBSITE_CONTENTAZUREFILECONNECTIONSTRING(如果您正在使用消费计划)。清除此存储或简单地重新创建它可以解决问题。

我还建议为每个 Function 应用程序创建单独的存储帐户 - 至少只要存在这些难以发现的错误。当此类问题仅影响单个 Function 应用程序时,修复此类问题要容易得多。


推荐阅读