Filter Asset Latest Data

过滤查询多个设备单个测点的最新数据。支持过滤查询数值型的数据。

使用GET方法

请求格式


GET https://{apigw-address}/tsdb-service/v2.0/latest/filter

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

modelId

Query

必需

String

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

assetIds

Query

必需

String

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

measurepoint

Query

必需

String

资产测点 ID。如何获取 pointId 信息 >>

operator

Query

必需

String

运算符,支持eq:等于;nq:不等于;gt:大于;lt:小于;ge:大于等于;le:小于等于;between:2个值的区间;in:属于多个值之一。

valueFilter

Query

必需

String

范围值,需与运算符配套使用,eq、nq、gt、ge、lt、le对应单值;between对应2个值;in对应多个值,多个值之间用逗号隔开,且数据类型必须与测点数据类型一致。如:operator=between&valueFilter=a, b表示过滤a与b之间的数值。

accessKey

Query

可选

String

应用的服务账号,应用以accessKey进行鉴权以获得其被授权访问的数据。如何获取accessKey信息>>

timeWindow

Query

可选

Integer

返回数据时间窗口设定,单位是分钟,最小值为0,不传则不过滤。

ifWithLocalTime

Query

可选

Boolean

指定查询结果是否需要返回数据的当地时间(local time)。true 表示查询结果将包含数据的原始时间戳,以及设备所在地的当地时区的时间。false 表示查询结果仅包含数据的原始时间戳。

localTimeAccuracy

Query

可选

Boolean

指定返回数据当地时间是否需要毫秒格式。true 表示返回的local时间需要毫秒格式,false 表示返回的local时间不需要毫秒格式。

响应参数


名称

数据类型

描述

data

List<JSONObject>

资产数据列表。单设备单点的返回数据按时间升序排列。详见 items

items

示例
{
    "assetId": "yourAssetId",
    "yourPointId": 1.5,
    "timestamp": 1559570160000
}
参数

名称

数据类型

描述

assetId

String

资产 ID。

pointId

Double

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

timestamp

Long

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

#

示例 1

请求示例

url: https://{apigw-address}/tsdb-service/v2.0/latest/filter?orgId=yourOrgId&assetIds=yourAssetIds&modelId=yourModelId&measurepoint=yourPointId&timeWindow=&operator=le&valueFilter=55673.9&accessKey=accessKeyOfYourAPP

method: GET

其中operator=le&valueFilter=55673.9的含义:以上示例将过滤出模型opentsdb_modelpointId数据点小于等于55673.9的值。

返回示例


{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1559570160000
      }
    ]
  }
}

使用POST方法

请求格式


POST https://{apigw-address}/tsdb-service/v2.0/latest/filter

请求参数(Body)


名称

必需/可选

数据类型

描述

orgId

必需

String

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

modelId

可选

String

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

assetIds

必需

String

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

measurepoint

必需

String

资产测点 ID。如何获取 pointId 信息 >>

operator

必需

String

运算符,支持eq:等于;nq:不等于;gt:大于;lt:小于;ge:大于等于;le:小于等于;between:2个值的区间;in:属于多个值之一。

valueFilter

必需

String

范围值,需与运算符配套使用,eq、nq、gt、ge、lt、le对应单值;between对应2个值;in对应多个值,多个值之间用逗号隔开,且数据类型必须与测点数据类型一致。如:operator=between&valueFilter=a, b表示过滤a与b之间的数值。

accessKey

可选

String

应用的服务账号,应用以accessKey进行鉴权以获得其被授权访问的数据。如何获取accessKey信息>>

timeWindow

可选

String

返回数据时间窗口设定,单位是分钟,最小值为0,不传则不过滤。例如:当 timeWindow=n 时,返回距当前时间 n 分钟内的最后一条数据;当 timeWindow=0 时,如果最新数据时间戳大于当前时间,将返回最新时间戳上的数据。

ifWithLocalTime

可选

String

指定查询结果是否需要返回数据的当地时间(local time)。true 表示查询结果将包含数据的原始时间戳,以及设备所在地的当地时区的时间。false 表示查询结果仅包含数据的原始时间戳。

localTimeAccuracy

可选

String

指定返回数据当地时间是否需要毫秒格式。true 表示返回的local时间需要毫秒格式,false 表示返回的local时间不需要毫秒格式。

响应参数

参见 使用GET方法 中的描述。

#

示例 1

请求示例

url: https://{apigw-address}/tsdb-service/v2.0/latest/filter

method: POST

Content-Type: multipart/form-data;charset=UTF-8

requestBody:
{
  "orgId": "yourOrgId",
  "modelId": "yourModelId",
  "assetIds": "yourAssetIds",
  "pointId": "yourPointId",
  "operator": "le",
  "valueFilter": "55673.9",
  "accessKey": "AccessKey of your APP"
}

其中operator:le,valueFilter:55673.9的含义:以下示例将过滤出模型opentsdb_modelpointId数据点小于等于55673.9的值。

返回示例


{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "yourPointId": 1.5,
        "timestamp": 1559570160000
      }
    ]
  }
}

SDK 示例


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