首页 > 解决方案 > 数据表到 eventthub 并超出限制

问题描述

我正在尝试将数据表/数据集发送到 eventthub 并收到以下错误消息,有没有办法将大量数据发送到 eventthub?

public static void PushTableToEventHubs(DataTable dtTable)
    {
        EventHubClient eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString, EventHubName);
        var data = JsonConvert.SerializeObject(dtTable);
        eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(data)));
        eventHubClient.Close();
    }

接收到的消息(delivery-id:0, size:18719987 bytes)超过了当前链接允许的限制(262144 bytes)。

标签: c#azuredatatableazure-eventhub

解决方案


事件中心不是为大量大数据包而设计的。它专为大量小型(最大 256kb)消息而设计,例如物联网场景。根据您的情况,您可能会更好地使用其他技术或服务。

也就是说,您也许可以将大消息拆分为较小的消息,但主要缺点是它会使接收方变得更加复杂,因为您必须先跟踪构成整个消息的所有部分您可以重新创建一条大数据消息。


推荐阅读