Azure函数host.json每个函数或全局设置?

Dav*_*uge 3 azure azure-functions

host.json中的设置是单独应用于每个函数,还是作为一个整体应用于所有函数?

例如,我在同一个Project中有两个函数,它们都从Azure ServiceBus队列中获取消息.

如果我在host.json中将maxConcurrentCalls设置为10,这是否意味着整体上只会对ServiceBus进行10次并发调用,或者每个函数调用10 ,那么将会有20个并发调用?

提前致谢.

Mik*_*kov 8

host.jsonfileApp是FunctionApp的所有功能共享的.也就是说,该maxConcurrentCalls值将适用于应用程序的所有功能,就像任何其他设置一样.

maxConcurrentCalls每个功能的效果都是独立的.在您的示例中,每个函数最多同时处理10条消息.如果将其设置为1,则每个函数将有1个线程工作.

请注意,maxConcurrentCalls每个实例都适用.如果有多个实例在运行,则最大并发性会按比例增加.

  • 虽然这看起来是正确的,但它确实让我感到困惑。如果您可以在每个功能级别覆盖某些设置,则会非常有帮助。例如,“队列”->“批量大小”。现在,您似乎需要一个单独的功能应用程序来完成同样的事情。我在 Github 上发布了一个问题,看看是否可以更改此设置(如果现在不能,希望将来可以更改):https://github.com/Azure/azure-functions-host/issues/5972 (2认同)