Azure Functions 应用程序在设置应用程序设置后产生错误

Azure Functions App yields errors after setting App Settings

我有一个 Azure Functions 应用程序 运行正在执行消费计划。它没有任何应用程序设置就交给了我。我使用 Microsoft 文档手动设置应用程序设置,如下所示:

  {
    "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
    "value": "{id}",
    "slotSetting": false
  },
  {
    "name": "AzureWebJobsStorage",
    "value": "DefaultEndpointsProtocol=https;AccountName={name};AccountKey={key}",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "value": "~2",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "value": "dotnet",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING",
    "value": "DefaultEndpointsProtocol=https;AccountName={name};AccountKey={key}",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_CONTENTSHARE",
    "value": "{name of Functions App added to 32 chars}",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_NODE_DEFAULT_VERSION",
    "value": "10.14.1",
    "slotSetting": false
  },
  {
    "name": "WEBSITE_RUN_FROM_PACKAGE",
    "value": "1",
    "slotSetting": false
  }
]

连接字符串都共享同一个存储帐户,该帐户为空且未被任何其他应用程序使用。

然而,当试图从门户查看它时,它已经产生了一个错误。删除 WEBSITE_CONTENTAZUREFILECONNECTIONSTRINGWEBSITE_CONTENTSHAREAzureWebJobsStorage 似乎使其成为 运行 尽管没有保存主机密钥,但其他功能似乎会触发。

如何正确设置 Functions 应用程序以使用存储空间?

当您创建一个没有任何应用程序设置的函数应用程序时(例如通过 ARM),我发现了这个问题。默认情况下,它将具有运行时 v1 的功能。

您可以尝试通过门户手动切换运行时版本。

https://docs.microsoft.com/en-us/azure/azure-functions/set-runtime-version

Although the runtime version is determined by the FUNCTIONS_EXTENSION_VERSION setting, you should make this change in the Azure portal and not by changing the setting directly. This is because the portal validates your changes and makes other related changes as needed.

如果这没有帮助,您将需要使用已经存在的基本应用设置(主要是 FUNCTIONS_EXTENSION_VERSION 设置为 ~2)完全重新创建它。 不幸的是,我不记得是否有一个未解决的 Github 问题 - 你也可以 post 你的问题在那里: https://github.com/Azure/azure-functions-host/issues

即使 Azure 门户中显示错误,您的应用程序也可能正常运行 - 但我建议在这种情况下重新创建它。

通过创建新的函数应用并将创建的设置与当前设置进行比较,您将能够找出差异。