本文介绍了如何EVENTDATA的序列化大小配料来决定?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在为Azure的 的方法,用于发送一批数据他们每个人都有下面的注释,将抛出一个 MessageSizeExceededException 如果它被忽略。

In the documentation for the Azure EventHubClient there are two methods for sending a batch of data each of them has the remark below and will throw a MessageSizeExceededException if it is ignored.

您应该确保eventDataList的总序列的大小小于一个事件的数据传输的尺寸的限制,这是256K默认

一个类似的警告是在是很容易确定,假设你没有ask在EVENTDATA 的。然而,EVENTDATA presumably的序列化形式包括分区键和用户作为<一个使用的属性href=\"https://$c$c.msdn.microsoft.com/windowsapps/Service-Bus-Event-Hub-286fd097/source$c$c?fileId=125837&pathId=2088418849\"相对=nofollow>样本。

The size of the bytes passed to each EventData is easy enough to determine, assuming you don't ask the EventData. However, the serialized form of an EventData presumably includes the Partition Key and user properties as used in the sample.

data.Properties.Add("Type","Telemetry_" + DateTime.Now.ToLongTimeString());

目前我唯一的选择看起来是保守与批量大小。

Currently my only option looks like being conservative with batch sizing.

推荐答案

----更新的NuGet更新后----
这里的EVENTDATA属性 - SerializedSizeInBytes ,我们在我们最近的SDK迭代介绍 - 它解决这一特定问题 - 适用于所有的。

----Updating after the Nuget Update----Here's the EventData property - SerializedSizeInBytes that we introduced in our recent SDK iteration - which addresses this specific problem - available in all sdk nugets above 2.6 .

心连心!
SREE

HTH!Sree

这篇关于如何EVENTDATA的序列化大小配料来决定?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 15:53