Insights Hub IoT Time Series data – 相同时间戳数据(包括来自 MC MQTT 的数据)上传格式

2024-03-19T02:16:59.000-0400
APIs & Services Applications Connectivity

摘要

如果在同一时间戳里有多个数据点的数据,如何编写正确的请求 body(消息体)?


详细信息

一、背景

在程序收集到的机器数据中,在同一时刻可能会从多个“机器/设备”收集数据。比如:从设备 1 中收集数据点 datapoint1;从设备 2 里收集数据点 datapoint2;从设备 3 里收集数据点 datapoint3 的值。

如果是上述情况,那么很可能从这三个数据点收集上来的数据,时间戳(Timestamp)都是一样的。比如都是:2024-02-29T14:15:00.000Z。针对这种情况,我们在像平台传送数据时(通过北端 IoT Time Series 接口;或者从南端 MC MQTT)必须要按照一定的格式准备请求(消息)体。

二、案例

错误的请求(消息)体

如下请求体是无效的。因为每个数据块都有一个时间戳,而且这些时间戳都是一样的。

{
  "timeseries": [
    {
      "timestamp": "2024-02-29T14:15:00.000Z",
      "values": [
        {
          "dataPointId": "datapoint1",
          "value": 100,
          "qualityCode": "0"
        }
      ]
    },
    {
      "timestamp": "2024-02-29T14:15:00.000Z",
      "values": [
        {
          "dataPointId": "datapoint2",
          "value": 200,
          "qualityCode": "0"
        }
      ]
    },
    {
      "timestamp": "2024-02-29T14:15:00.000Z",
      "values": [
        {
          "dataPointId": "datapoint3",
          "value": 300,
          "qualityCode": "0"
        }
      ]
    }
  ]
}

上针对上面这个请求体格式:

  1. 如果请求是从北端 IoT Time Series 发到平台 —— 那么最后一个数据将会覆盖掉之前所有的记录。也就是针对上述请求体,只有 "datapoint3" 的值会被传入到平台;
  2. 如果请求是从南端,比如通过 MC MQTT 上传 —— 那么这个消息体将会被 MQTT 服务视为无效的,并且直接丢弃。

正确的请求(消息)体

如下请求(消息)体是有效的

{
  "timeseries": [
    {
      "timestamp": "2024-02-29T14:15:00.000Z",
      "values": [
        {
          "dataPointId": "datapoint1",
          "value": 100,
          "qualityCode": "0"
        },
        {
          "dataPointId": "datapoint2",
          "value": 200,
          "qualityCode": "0"
        },
        {
          "dataPointId": "datapoint3",
          "value": 300,
          "qualityCode": "0"
        }
      ]
    }
  ]
}

三、参考

不管是从北端 API,还是从南端上传 IoT Time Series 数据,其格式都遵循 IoT Time Series 服务的介绍:https://documentation.mindsphere.io/MindSphere/apis/iot-iottimeseries/api-iottimeseries-api.html

即:包含相同时间戳的数据对象“需要放在同一个 JSON 数组中”。

知识库文章 ID# KB000130381_ZH_CN

内容

摘要详细信息

关联组件

IoT Time Series Service