【问题标题】:Azure event hub End of stream reached while consuming message C#使用消息 C# 时到达 Azure 事件中心流结束
【发布时间】:2020-12-08 14:59:37
【问题描述】:

我正在使用带有架构注册表的 Azure eventhub。我正在发送一条带有巨大字符串的消息。 该消息具有属性 JsonConent。我正在将 Avro 模式用于具有默认值的可空字符串。 我正在尝试将消息转换为 GenericRecord,当我使用它时,但是当 JsonContent 太大时我有一个错误:Avro.AvroException - 到达流结束。

public async Task ProcessEventHandler(ProcessEventArgs arg)
{
    var a = avroSerializer.Deserialize(arg.Data.EventBody.ToStream(), typeof(GenericRecord);
}
I am using Azure.Data.SchemaRegistry.ApacheAvro 1.0.0-beta.1,
Azure.Messaging.EventHubs 5.3.0-beta.4,
Azure.Messaging.EventHubs.Processor 5.3.0-beta.4

【问题讨论】:

  • 是否大于 1MB?
  • 事件中心客户端和服务将事件主体视为不透明的字节流;两者都不会检查、修改或以其他方式做出推论。此类错误的最可能原因是发布时正文格式不正确。查看您的事件是如何形成和发送的会很有帮助。
  • 不,它不大于 1MB。当我发送一个大字符串时,我遇到了这个问题,只有当我使用模式注册表时。也许它来自 Eventhub 的测试版。我减小了字符串大小,现在一切正常。我发现了一个问题,登录到 apache Jira 板,与此错误相关,所以微软可能在他们的 nuget 包中引用了这个版本。

标签: c# azure azure-eventhub


【解决方案1】:

我找到this issue,登录到 apache Jira 板。也许微软 Azure 正在使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-16
    • 2021-08-08
    • 2023-01-27
    • 2017-10-30
    • 2018-05-09
    • 2019-11-13
    • 2016-02-22
    • 2022-01-08
    相关资源
    最近更新 更多