如何在本地覆盖我的 azure 函数的主机设置?

How can I override the host settings of my azure function locally?

假设您有一个这样的 host.json 文件:

{
  "version": "2.0",
  "extensions": {
    "serviceBus": {
      "messageHandlerOptions": {
        "maxConcurrentCalls": 16,
        "maxAutoRenewDuration": "00:05:00"
      }
    }
  }
}

但您希望在 local.settings.json 中或在 Azure 上给定环境的设置中覆盖本地设置。可以吗,怎么做到的?

这是可能的,但没有很好的记录。 Fabio Cavalcante describes it in a comment here.

您只需在 local.settings.json 文件(或 Azure 上)中使用 AzureFunctionsJobHost 作为设置前缀,如下所示:

{
  "IsEncrypted": false,
  "Values": {
    "AzureFunctionsJobHost:Extensions:ServiceBus:MessageHandlerOptions:MaxConcurrentCalls": 32,
    "AzureFunctionsJobHost:Extensions:ServiceBus:MessageHandlerOptions:MaxAutoRenewDuration": "00:10:00"
  }
}

您也可以使用双下划线 (__) 代替冒号 (:)。