如何使用 Azure Event Hubs Go SDK (azeventhubs) 使用最新事件?

如何使用 azure event hubs go sdk (azeventhubs) 使用最新事件?

php小编草莓为大家带来了一篇关于如何使用Azure Event Hubs Go SDK (azeventhubs)使用最新事件的指南。Azure Event Hubs是一种高可扩展、实时数据传输服务,可以用于处理大量事件数据。在本指南中,我们将介绍如何使用azeventhubs包来与Azure Event Hubs进行交互,并演示如何使用最新事件功能来获取实时数据。通过本文的指导,您将能够轻松地在Go应用程序中使用Azure Event Hubs,并利用最新事件功能来获取与处理实时数据。

问题内容

我正在从 azure-event-hubs-go/v3 迁移到较新的 azeventhubs Go SDK。在旧版 SDK 中,有一个 ReceiveOption 参数,允许我指定从哪里开始消费事件。

在新的 SDK 中,我使用以下代码来初始化处理器:

processor, err := azeventhubs.NewProcessor(    e.ConsumerClient,     checkpointStore,     &azeventhubs.ProcessorOptions{        UpdateInterval: time.Second,         Prefetch: 0,         StartPositions: azeventhubs.StartPositions{            Default: azeventhubs.StartPosition{                Latest: to.Ptr(true),                 EnqueuedTime: to.Ptr(time.Now()),                 Inclusive: true            }        }    })

登录后复制

但是,我注意到事件是从最后一个检查点而不是最近发送的事件中消耗的。

我尝试过的:我已经尝试过 ConsumingEventsUsingConsumerClientConsumingEventsWithCheckpoints 示例,但它们的行为方式相同,消耗来自最后一个检查点的事件而不是最近的事件。

我的期望:我希望处理器开始使用从设备发送的最新事件,该设备每秒发送一条消息。如何使用 azeventhubs Go SDK 实现此行为?

解决方法

我最初很难掌握 AMQP 的底层机制。不过,我很高兴地报告,该问题已成功解决。

var wg sync.WaitGroupwg.Add(1)for _, partition := range p.PartitionIDs {    go func(partition string) {        defer wg.Done()        partitionClient, err := consumerClient.NewPartitionClient(partition, nil)        if err != nil {            panic(err)        }        receiveCtx, cancel := context.WithTimeout(context.TODO(), time.Second*30)        defer cancel()        for {            events, err := partitionClient.ReceiveEvents(receiveCtx, 1, nil)            if err != nil && !errors.Is(err, context.DeadlineExceeded) {                panic(err)            }            for _, evt := range events {                fmt.Printf("partition: %s", partition)                fmt.Printf("Body: %s", string(evt.Body))            }        }    }(partition)}wg.Wait()

登录后复制

我对 Azure 客户支持服务团队提供的宝贵帮助表示感谢。

以上就是如何使用 Azure Event Hubs Go SDK (azeventhubs) 使用最新事件?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2358353.html

(0)
上一篇 2025年3月1日 16:58:08
下一篇 2025年3月1日 16:58:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论