gpt4 book ai didi

Azure 事件中心 : Receive events as a batch that were sent to hub as individual messages?

转载 作者:行者123 更新时间:2023-12-03 03:23:52 25 4
gpt4 key购买 nike

我有以下模式,

Http 触发函数应用程序 -> 事件中心 -> 事件中心监听器函数应用程序

遗憾的是,HTTP 触发器应用的发送方会发送许多单独的请求,这意味着发送到事件中心的执行也只是每条消息发送少量数据。

这会导致监听器在每条小消息上触发,从而在数据加载结束时创建许多很多文件。

我的监听器已经配置为接收批量事件,并且我过去见过,当监听器功能被禁用一段时间,然后重新启用时,会大量接收数据。

如何确保多个事件在到达监听器后批量处理,即使它们发送到事件中心是作为单独的请求/消息?

也许监听器有一些延迟设置?

最佳答案

没有足够的上下文来了解如何在 host.json 中配置 maxEventBatchSize,但我假设它设置为大于 1 的值。在这种情况下,听起来分区没有事件积压,并且在事件到达时正在读取。由于没有足够的事件来保持预取队列已满,因此事件会在流入时进行调度。

我建议利用 v5.3.0 中添加的 minEventBatchSize事件中心触发器的。这与 maxWaitTime 一起使用,要求触发器等待一段时间并建立一个批处理,而不是其首选最大化吞吐量的默认行为。

一个最小的例子看起来像:

{
"version": "2.0",
"extensions": {
"eventHubs": {
"maxEventBatchSize" : 100,
"minEventBatchSize" : 25,
"maxWaitTime" : "00:05:00",
"batchCheckpointFrequency" : 1,
"prefetchCount" : 300,
}
}
}

更多详细信息请参阅 host.json settings文档部分。

关于Azure 事件中心 : Receive events as a batch that were sent to hub as individual messages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76105351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com