如何有效地将压缩的 json 数据推送到 Azure 事件中心并在 Azure 流分析中进行处理?

How to efficiently push compressed json data into azure event hub and proccess in azure stream analytics?

我们有一个后端应用程序,它必须将遥测数据发送到事件中心。所有数据都必须序列化为 JSON 并压缩。

我们应该将所有序列化对象收集到单个换行符分隔的 JSON 中,还是最好为每个对象使用一个 EventData 包装器并将其作为批次发送?可能使用换行符分隔 json 压缩效果更好。但是 ASA 能处理吗?

Asa 支持 gzip 和 deflate 压缩。每条 eventhub 消息最大可达 256 kb,包括元数据。在处理方面,每条消息都有一些开销。因此,对于相同数量的记录,eventhub 消息的数量越少越好。然而,这通常意味着在发送端有一些缓冲。根据您对发件人的整体延迟要求和内存占用要求,您应该将多条记录打包到每个 eventhub 消息中,并进行压缩。