Get Asset Generic Data


获取指定设备的指定测点(支持多设备多测点)在某段时间内通用类型的数据。

请求格式


POST https://{apigw-address}/tsdb-service/v2.1/generic

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的 OU ID。如何获取 orgId 信息 >>

请求参数(Body)


名称

必需/可选

数据类型

描述

modelId

可选

String

资产所属模型 ID。如何获取 modelId 信息 >>

assetIds

必需

String

资产 ID,支持查询多个资产,多个资产 ID 之间用英文逗号隔开。如何获取 Asset ID 信息 >>

pointIds

必需

String

资产测点,支持多测点查询,各个测点间用英文逗号隔开。如何获取 pointId 信息 >>

startTime

必需

String

采样数据开始时间,支持设备当地时间和 UTC 时间。设备当地时间的格式为 YYYY-MM-DD HH:MM:SS。当格式为设备当地时间时,使用设备所在地的当地时间进行查询。UTC 时间格式如 2019-06-01T00:00:00+08:00+08:00 表示时区。当格式为 UTC 时间时,对所有资产按照统一的开始时间和结束时间进行查询。

endTime

必需

String

采样数据结束时间,格式必须与开始时间保持一致。

pageSize

可选

Integer

单次查询返回记录条数的上限,默认为 1000。

withQuality

可选

Boolean

指定返回结果中是否包含数据质量位,true 为包含,false 为不包含,默认不包含。

localTimeAccuracy

可选

Boolean

指定查询结果是否包含毫秒级结果。true 表示需要毫秒格式,false 表示不需要毫秒格式,默认值为 false

localTimeFormat

可选

Integer

指定返回数据的设备当地时间是否包含设备的时区信息。0 不包含设备时区信息,1 包含设备时区信息,默认值为 0。

itemFormat

可选

Integer

指定返回结果中测点数据的显示格式。可选值为 012,默认值为 0。对每种显示格式的详细介绍,参见 Item Format 示例 >>

boundaryType

可选

String

对于已配置数据压缩存储的测点,可指定查询的测点数据类型。可选值为:

  • inside:仅返回原始压缩数据,即时间范围内的数据。若不指定,默认为 inside

  • outside:返回原始压缩数据,以及超出起止时间前后边界的数据。

  • interpolated:返回原始压缩数据,以及起止时间边界插值数据,即插补起止时间点的数据。

  • sample:返回起止时间内,按指定的时间间隔和算法插补后的数据。插补的数据可用于补全 TSDB 中的数据差距,生成均匀采样的数据序列。

interval

可选

Integer

boundaryType=sample 时,指定插补数据的时间间隔,默认值为 60,单位为秒。

interpolation

可选

String

boundaryType=sample 时,指定插补数据的算法。可选值为:

  • linear:使用线性插值算法来计算缺失的数据点。若不指定,默认为 linear

  • previous:用前一个有效数据点的值来填充缺失的数据点。

  • near:用临近的有效数据点的值来填充缺失的数据点。

  • after:用后一个有效数据点的值来填充缺失的数据点。

有关插值算法的更多信息,参见 数据插值算法参考说明 >>

响应参数


名称

数据类型

描述

items

List<JSONObject>

资产测点最后变更数据列表。单个设备单一测点的数据将按照时间戳升序排列。详见 items

items


名称

数据类型

描述

assetId

String

资产 ID。

timestamp

Long

数据时间戳,UNIX 时间,精确到秒。

pointId

Double

此参数的名称是变量,在返回结构中,参数名称为测点的标识符,参数的值为测点数据。

localtime

String

数据当地时间,精确到秒。

quality

Integer

测点数据的质量位信息。

示例 1


示例 1 按照设备当地时间请求数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/generic?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetId1,yourAssetId2",
  "pointIds": "yourPointIds",
  "startTime": "2020-04-20 00:00:00",
  "endTime": "2020-04-21 00:00:00",
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123
      },
      {
        "assetId": "yourAssetId2",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123
      }
    ]
  }
}

示例 2


示例 2 按照 UTC 时间格式请求数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/generic?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetId1,yourAssetId2",
  "pointIds": "yourPointIds",
  "startTime": "2020-04-20T00:00:00+08:00",
  "endTime": "2020-04-21T00:00:00+08:00",
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123
      },
      {
        "assetId": "yourAssetId2",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123
      }
    ]
  }
}

示例 3


示例 3 查询带有质量位的数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/generic?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetId1,yourAssetId2",
  "pointIds": "yourPointIds",
  "startTime": "2020-04-20T00:00:00+08:00",
  "endTime": "2020-04-21T00:00:00+08:00",
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 1,
  "itemFormat": 0,
  "withQuality": true
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123,
        "quality": 0
      },
      {
        "assetId": "yourAssetId2",
        "timestamp": 1587312000000,
        "localtime": "2020-04-20T00:00:00+08:00",
        "yourPointId": 3.123,
        "quality": 0
      }
    ]
  }
}

示例 4


示例 4 查询原始压缩数据,并返回查询起止时间边界前后的数据。

请求示例


url: https://{apigw-address}/tsdb-service/v2.1/generic?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIds": "yourPointIds",
  "startTime": "2020-08-28T11:33:00+08:00",
  "endTime": "2020-08-28T11:35:00+08:00",
  "boundaryType", "outside"
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1598585576906,
        "yourPointId": 0.8807087,
        "localtime": "2020-08-28 11:32:56"
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1598585587039,
        "yourPointId": 0.26798052,
        "localtime": "2020-08-28 11:33:07"
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1598585597125,
        "yourPointId": 0.65514636,
        "localtime": "2020-08-28 11:33:17"
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1598585708013,
        "yourPointId": 0.342161,
        "localtime": "2020-08-28 11:35:08"
      }
    ]
  }
}

SDK 示例


你可以在 Github 上获取 TSDB 数据服务的 Java SDK 示例