并行处理在连续webjob中接收EventData []类型的EventHubTrigger消息

时间:2018-01-09 13:50:32

标签: c# parallel-processing azure-eventhub azure-webjobs-continuous

我在连续网络作业中接收事件数据时遇到问题。

我使用设备客户端的批处理异步方法发送消息。在网络工作中,我一个接一个地收到这些批次。当第一批第一批到来时,直到完成所有消息的时间;下一批不会触发并执行。在第一次批处理执行完成后,只有第二批处理触发并开始执行。

我希望它能并行执行。

我在接收方使用事件处理器主机,在发送方使用设备客户端。

我错过了任何配置选项吗?就像在队列中一样,有一个名为批量大小的选项,用于定义要并行处理的消息数量。那么,连续的web-job中是否有任何选项,它是批量接收事件中心数据并并行运行那些批次?

1 个答案:

答案 0 :(得分:0)

我逐行检查了我的代码后得到了答案。我在调用EventProcessorHost的构造函数时缺少一个参数:leaseContainerName。

解决方案就是使用它:

public EventProcessorHost(string hostName, string eventHubPath, string consumerGroupName, string eventHubConnectionString, string storageConnectionString, string leaseContainerName, string leaseBlobPrefix = null);

以前我用过这个:

public EventProcessorHost(string hostName, string eventHubPath, string consumerGroupName, string eventHubConnectionString, string storageConnectionString);

供参考检查此链接: https://developers.de/blogs/damir_dobric/archive/2016/09/12/how-to-configure-eventprocessorhost-for-iothub.aspx