EventHub触发函数基数,其中一个导致更高的超时

时间:2017-09-13 18:43:50

标签: azure azure-functions azure-eventhub

当我选择很多"基数"在函数绑定中,它工作正常。

{
  "bindings": [
    {
      "type": "eventHubTrigger",
      "name": "eventHubMessages",
      "direction": "in",
      "path": "sessions",
      "connection": "connectionstring",
      "cardinality": "many",
      "consumerGroup": "group1"
    }
  ],
  "disabled": false
}

当我选择"一个"在函数绑定中,获得更高的超时。

   "cardinality": "one",

当我查看控制台时,我可以看到启动了多个功能,

2017-09-12T19:37:49.645 Function started (Id=f0ef1cd5-8331-448e-86c6-84c745bbab13)
2017-09-12T19:37:49.956 Function started (Id=26629395-54b8-4f83-9852-b3d55307318b)

基数是多少"很多"单线程," one"正在进行平行处理。虽然我没有并行处理的问题,但它带来了更高的超时。或者这是Functional App的核心问题?

总计"功能开始",我看到接近250.可伸缩性管理器在这里有问题吗?

1 个答案:

答案 0 :(得分:1)

基数'one'表示每个EventData有效负载都会获得一个函数调用。 'Many'意味着每次调用都会得到一整批EventData []。 维基上有一些更详细的信息https://github.com/Azure/azure-webjobs-sdk/wiki/EventHub-support

在推断代码的正确性时,您应该可以并行运行函数调用,并且批量大小是随机的(除非您非常明确地配置它)。单个批次可能仍会连续运行。