【问题标题】:ARM template deployed function app has no host keys and throws errorsARM 模板部署的函数应用没有主机密钥并引发错误
【发布时间】:2020-09-01 02:52:56
【问题描述】:

我在 Azure 中部署了一个函数应用程序,并尝试“代码 + 测试”->“测试 + 运行”,我在键下拉列表中只看到一个键 - 默认(功能键):

App Keys 部分如下所示:

使用此密钥运行时,我看到 401 未经授权的错误:

它不应该在下拉列表中显示更多的键吗? AppSettings 包含

AzureWebJobsStorage

FUNCTIONS_EXTENSION_VERSION (~3)

FUNCTIONS_WORKER_RUNTIME

我是否缺少在密钥下拉列表中显示主(主机)密钥的内容?

【问题讨论】:

  • 你能在你的函数应用中看到 mast key --> "App keys" --> "Host keys" 吗?
  • 不,它不存在
  • 我可以知道您的模板中netFrameworkVersion 的值吗?如果是"",可以试试改成"v4.0"吗?
  • 在哪里检查?请告诉我。

标签: azure azure-functions azure-resource-manager azure-deployment azure-function-app


【解决方案1】:

可能为时已晚,但我刚刚遇到了这个问题,在我的情况下,问题来自虚拟网络

App Function中,转到Configuration并在AzureWebJobsStorage设置中获取存储帐户名称。

然后转到这个存储帐户 > 防火墙和虚拟网络,并检查它是否包含在一个虚拟网络和一个子网。如果是这样,请将他们的名字复制到某处。

回到App Function > Networking > 在“VNet Integration”部分,点击“Click here to configure”,然后将应用功能添加到与存储帐户相同的虚拟网络和子网中。

应用键边栏选项卡中,默认键现在应该可用了。

【讨论】:

  • 谢谢。我的函数应用是与 WEBSITE_VNET_ROUTE_ALL 设置为 1 的 vnet 集成。但是,我的存储帐户不在同一个子网中。将我的存储帐户添加到同一个子网解决了这个问题。
  • 我仍然看到这个问题。在检查存储帐户防火墙和虚拟网络时,我没有看到虚拟网络和子网中包含任何内容。你能帮忙吗?
【解决方案2】:

您是否重新部署(即删除并重新创建)此函数应用?解决此问题的最佳方法是重置/创建这些键。

  • 转到 KUDU https://{yourapp}.scm.AzureWebsites.net
  • 调试控制台-> CMD。
  • 转到密钥路径 d:\home\data\functions\secrets
  • 下载host.json文件进行备份,删除host.json文件
  • 从顶部菜单转到进程资源管理器
  • 右键单击w3wp.exe进程->杀死

现在,

  • 重新启动您的函数应用。
  • 打开 https://{yourapp}.azurewebsites.net
  • 此操作将创建 host.json 并将创建新密钥。

您也可以尝试重新启动函数应用或将“AzureWebjobsStorage”的值更改为另一个值(更改为不同的存储)并重新启动应用程序。

重要提示: 在实施这些步骤之前,请确保更新所有使用这些密钥的依赖 API/应用程序,因为您的密钥可能会更改,并且必须相应地更新依赖应用程序。

【讨论】:

  • 谢谢!我在 d:\home\data 中没有看到名为 functions 的文件夹。我只看到 2 个文件夹 - aspnet 和作业。可能是什么原因?
  • 能否更改函数应用名称并重新部署?检查文件夹是否存在。您还可以通过将其与门户中的模板进行比较来验证您正在使用的 ARM 模板。 { 如果您尝试从门户创建函数应用,您将在最后一步看到“下载模板”链接。
  • 为了回答您的问题,jobs 文件夹用于 webjobs。在里面你可以看到两种类型的 webjobs 的 Continuous 和 Triggered 文件夹。请确保您导航到正确的应用服务。
  • 我在 secrets 文件夹中看到一个名为“Sentinels”的文件夹。我没有看到 host.json。我重新启动了功能应用程序,但仍然看不到 host.json 并且仍然看不到任何键,除了带有 401 未授权错误的“默认(功能键)”。如果我遗漏了什么,请告诉我吗?
猜你喜欢
  • 2018-08-20
  • 2021-08-24
  • 2017-12-19
  • 2021-04-10
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多