批量处理Golang中的ms azure eventhub中的事件

时间:2019-01-02 20:13:04

标签: go batch-processing azure-eventhub azure-sdk

我从AZURE eventhub中阅读了一些有关如何在golang中处理事件的文档,但这些都是一一进行的,我无法在任何地方找到事件的批处理。对于ETL操作而言,这似乎没有用。有谁知道如何使用golang库批量处理事件?

由于当前我查看了https://github.com/Azure/azure-event-hubs-go/blob/master/_examples/helloworld/consumer/main.go,但是处理程序是一个接受单个事件作为参数的函数。如果有一些可以接受大量事件的处理程序,则会更有效。因为如果我想基于事件进行一些数据库事务,则每个事件必须进行一次事务。我也不能仅仅将其发送到其他goroutine,因为如果我根据处理后的事件在数据库中进行事务处理,则必须确保在批处理之后设置检查点。就像在AWS Lambda中使用AWS Kinesis一样。

1 个答案:

答案 0 :(得分:0)

我想这个问题是无效的。由于我可以随时随地自由存储检查点(不仅在批处理之后,而且在多个批处理之后)。我可以自由使用此一对一的api,并将事件转发到一些自定义批处理程序。所有事件都包含偏移量,因此我可以随时在自定义批处理程序中存储检查点。

PS:链接的蔚蓝示例提到了批处理,但实际上是批写入而不是批读取。