实时数据查询

获取单个设备的模型点实时数据,支持获取指定设备,指定模型点的实时数据。

请求格式

POST http://{apigw-address}/edge-service/v1/measurepoints?action=queryLatest

请求参数(URI)

名称

数据类型

是否必须

描述

orgId

String

true

组织 ID

assetId

String

false

设备 assetId(必须填写assetId,或者必须productKey与deviceKey,两者都填时,以assetId为准)

productKey

String

false

设备的productKey

deviceKey

String

false

设备的deviceKey

请求参数(Body)

名称

数据类型

是否必须

描述

measurepointIds

String Array

false

pointId的数组。

  • 若不填写,或者这个数组长度为0,则返回这个设备所有点;

  • 若已填写,则返回指定pointId的结果。

响应参数

名称

数据类型

描述

data

List<Measurepoint>

最新测量点数据列表

data.pointId

String

测点 ID

data.dataType

String

测点类型,包括 ARRAY,BOOL,DATE,ENUM,INT,FLOAT,DOUBLE,STRUCT, STRING,TEXT,NUMBER,TIMESTAMP,FILE,MAP等。

data.subDataType

String

  • data.dataType为 ARRAY 时,此字段有效,表示数组中数据的子类型,可能取值为 INT, FLOAT,DOUBLE,STRING,TEXT

  • data.dataType为 ENUM 时,此字段有效,表示 ENUM 中 key 的类型,可能取值为INT,TEXT,STRING

data.time

Long

UTC timestamp (millisecond)

data.usingOem

Int

云端模板的 mapping 配置侧,这个点是否配置了使用设备的 oem 时标,1 表示使用,0 表示不使用

data.oemTime

Long

UTC timestamp (millisecond),设备上送的时标;0 表示设备未上送时标。

data.value

Object

测点值

错误码

代码

描述

400

orgId不合法

1000

参数错误

9999

内部错误

1000201

设备不存在

示例 1

请求示例

url: http://{ip}:{port}/edge-service/v1/measurepoints?action=queryLatest&orgId=yourOrgId&assetId=yourAssetId
method: POST
requestBody:
{
        "measurepointIds":[
                "point1","point2"
        ]
}

返回示例

{
    "status": 0,
    "msg": "success",
    "submsg": null,
    "data": [
    {
        "pointId": "point1",
        "dataType": "INT",
        "subDataType": null,
        "time": 1536667537046,
        "usingOem": 1,
        "oemTime": 1536667537046,
        "value": 88
    },
    {
        "pointId": "point2",
        "dataType": "ARRAY",
        "subDataType": "INT",
        "time": 1536667537046,
        "usingOem": 1,
        "oemTime": 0,
        "value": [11,22,33]
    }

    ]
}

异常示例

{
    "status": 400,
    "msg": "Invalid Argument orgId",
    "submsg": "orgId does not exist"
}