通过 Azure 流分析连接 IoT 消息的数据



一个IoT传感器每10分钟进行1000个测量值 @ 1kHz,并将10个单独消息中的值发送到Azure IoT Hub中。我应该将十个单独的消息加入到一条以进行进一步处理,例如计算RMS和FFT。

消息具有以下结构:

{
    "SampleID" : 12344,
    "PartionIdx" : 2,
    "NbrPartitions": 10,
    "Values" : [12,13,14,13,12,11,10,9]
}

因此,在收到了所有十个后,应将所有具有相同sampleID的消息的值通过partitionIdx顺序连接在一起。我尝试使用流分析,但失败了。

这对于流分析来说这太复杂了吗?如果是的,除了编码网络作业外,还有其他选项吗?

问题有两个方面

  1. 知道所有值何时到达。
  2. 将它们连接在一起。

1,如果特定设备ID的事件到达以始终为EventHub和同一EventHub分区或始终到达同一EventHub分区,或者您有一个想法,您可以使用Over()条款使用时间戳来创建不同的时间表,则可以使用时间戳对于每个设备。这将阻止设备ID的输出,直到收到该分区的足够数据为止。

对于2,您可以使用collect(),如 @js-azure所述。如果您希望将数据以特定而不是记录数组的形式格式化,则可以使用JavaScript聚合。

最新更新