gpt4 book ai didi

c# - 从EventHub读取特定消息

转载 作者:行者123 更新时间:2023-12-02 06:37:45 25 4
gpt4 key购买 nike

我想从 EventHub 读取特定消息。

我正在使用 EventHubConsumerClientReadEventsFromPartitionAsync 以及我拥有的分区 ID 和 Offset。

client.ReadEventsFromPartitionAsync(partitionId、EventPosition.FromOffset(offset)、cancelSource.Token);

我遇到的问题是,尽管偏移量和分区 ID 正确,但我没有收到预期的消息。

上下文

我正在做一些事情来验证消息是否在分布式系统中得到正确处理。

源事件中心 -> 处理器功能 -> 目标事件中心。

我读取两端(集线器)并验证消息是否到达应有的位置,如果没有到达,则从源事件中心查找消息(通过与消息 ID 匹配的分区 ID 和偏移量)。

我正在查找的消息似乎没有我期望的消息 ID 或偏移 ID。

最佳答案

更新:

我错误地记忆了 EventPosition 的默认值,并引用了以下错误 SDK 包的文档。默认情况下,包含 EventPosition.FromOffset( src )

问题中的创建模式将包括所提供偏移处的事件。如果您没有看到返回的事件,则偏移量似乎不正确。

原始答案(不正确):

您正在构建的 EventPosition 是非包容性的,不会包含该偏移处的事件,而是从下一个可用事件开始。使用以下重载应该定位您正在查找的事件:

EventPosition.FromOffset(offset, true)

看起来好像docs中的摘要没有很好地引起人们对默认值的注意;我将采取后续行动以使其更加清楚。

关于c# - 从EventHub读取特定消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70769010/

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