限制Azure Function Apps v2的实例数

时间:2019-05-14 14:28:27

标签: azure azure-functions azureservicebus servicebus

我只需要准备一个Azure Function应用程序实例,然后将以下json代码放在​​host.json中。

但是,当某个功能由servicebus queue触发时,我可以在Application Insights的Live Metrics Stream中清楚地看到已配置了多个服务器来处理负载。我错过了将运行中的服务器限制为一台的想法?

{
  "version": "2.0",
  "WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT": 1,
  "maxConcurrentCalls": 2,
  "extensions": {
        "serviceBus": {
            "prefetchCount": 1,
            "messageHandlerOptions": {
                "maxConcurrentCalls": 2
            }
        }
    }
}

2 个答案:

答案 0 :(得分:4)

您为什么要这样做? 请记住,每个实例可以同时处理多条消息,因此1个实例一次并不意味着一条消息

无论如何,您都可以进入应用设置并添加以下内容: WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1

Azure Functions settings

答案 1 :(得分:1)

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT是应用程序设置,而不是host.json设置。我还要指出,它的可靠性还不到100%,因此,如果您只需要一个实例的硬保证,则应该使用Premium计划或标准App Service计划而不是Consumption计划。