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

时间:2019-05-31 13:16:19

标签: azure azure-functions appsettings

我有一个在消费计划上运行的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似乎可以使其运行,但是似乎触发了功能。

如何正确设置功能应用程序以使用存储设备?

2 个答案:

答案 0 :(得分:1)

通过创建新的功能应用程序并将创建的设置与当前设置进行比较,您将能够识别出差异。

答案 1 :(得分:0)

当您创建没有任何应用设置(例如,通过ARM)的功能应用时,我已经观察到此问题。默认情况下,它将具有运行时v1功能。

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

  

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

     

尽管运行时版本由FUNCTIONS_EXTENSION_VERSION设置确定,但您应该在Azure门户中进行此更改,而不是直接更改设置。这是因为门户会验证您的更改并根据需要进行其他相关更改。

如果这没有帮助,则需要使用已经存在的基本应用程序设置(主要是将FUNCTIONS_EXTENSION_VERSION设置为~2)完全重新创建它。 不幸的是,我不记得是否有公开的Github问题-您也可以在此处发布问题: https://github.com/Azure/azure-functions-host/issues

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