查看数据点
请求方式:GET
URL: http://API_ADDRESS/devices/device_id/datapoints
device_id:需要替换为设备ID
url参数
参数名称 |
格式 |
是否必须 |
说明 |
datastream_id |
string |
否 |
数据流,多个数据流之间用逗号分隔 |
start |
string |
否 |
提取数据点的开始时间,格式:2015-01-10T08:00:35 |
end |
string |
否 |
提取数据点的结束时间,格式:2015-01-10T08:00:35 |
limit |
int |
否 |
限定本次请求最多返回的数据点的数量,取值>0,<=6000 |
cursor |
string |
否 |
指定本次请求继续从cursor位置开始提取数据 |
返回参数
参数名称 |
格式 |
说明 |
errno |
int |
调用错误码,为0表示调用成功 |
error |
string |
错误描述,为"succ"表示调用成功 |
data |
json |
接口调用成功之后返回的数据点相关信息,见data描述表 |
data描述表
参数名称 |
格式 |
说明 |
cursor |
string |
下一个数据点的位置 |
datastreams |
array-json |
设备数据流信息的json数组,见datastreams描述表 |
count |
int |
返回的数据流个数 |
datastreams描述表
参数名称 |
格式 |
说明 |
id |
string |
数据流名称 |
datapoints |
array-json |
数据点的json数组,见datapoints描述表 |
statistic |
json |
数据流统计信息的json ,见statistic描述表 |
datapoints描述表
参数名称 |
格式 |
说明 |
at |
string |
时间 |
value |
string(或array) |
数据点的值 |
statistic描述表
参数名称 |
格式 |
说明 |
at |
string |
求最值时返回的一个最值时间点 |
value |
string |
数据点的值 |
说明
不携带任何参数,直接调用。则返回本设备所存在的所有数据流中最新的数据。 如果这个设备有三个数据流,则返回这三个数据流中每个数据流中最后一条数据。
不携带数据流id参数,携带limit参数时,会返回该设备每个数据流最多limit条数据。
其中datastream_id等于obj_id_obj_inst_id_ res_id,如obj_id:3200,obj_inst_id:0,res_id:5501,那么这个datastream_id就为3200_0_5501。
要查看某一条数据流在某个时间范围内的数据,可以在增加start和end参数。注意如果start参数存在,end参数不存在,表示取start后的所有数据;如果start不存在,end存在,设备云会忽略end参数。start和end之间的时间间隔最大为1年,超过一年会忽略。
如果指定了start参数,则可能返回的数据点的数目会很多,此时默认会返回最多100个数据点。可以使用limit参数,设定返回多少个数据点,最大为6000个数据点。当实际的数据点数目多于limit限定的数目时,返回的json串中会有一个cursor字段,下一次请求的命令行中可以携带此cursor字段表示接着遍历本数据流。此cursor字段标识上次取出数据点后下一个数据点的位置。
请求示例一
GET http://API_ADDRESS/devices/564280/datapoints? datastream_id=3200_0_5501&start=2015-11-30T17:12:33&end=2015-12-01T17:22:33&limit=5&cursor=25971_564280_1448961024981 HTTP/1.1
api-key: WhI*************v1c=
Host: API_ADDRESS
返回示例
{
"errno":0,
"data":{
"cursor":"25971_564280_1448961152173",
"count":5,
"datastreams":[
{
"datapoints":[
{
"at":"2015-12-01 17:10:24.981",
"value":"35"
},
{
"at":"2015-12-01 17:10:53.406",
"value":"38"
},
...
],
"id":"3200_0_5501"
},
...
]
},
"error":"succ"}