查询设备历史数据
接口说明
在日常运行中,物联网平台会收到并保存设备上报业务数据,应用服务器若需要查看某个设备上报到平台的历史数据,可调用此接口查询获取。
URI
| 请求方法 | GET |
|---|---|
| URI | /iocm/app/data/v1.2.0/deviceDataHistory |
| 传输协议 | HTTPS |
请求参数
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| app_key | 必选 | String | header | 访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 |
| Authorization | 必选 | String | header | 访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 |
| appId | 可选 | String | query | 设备所属的应用ID,当查询授权应用下设备的历史数据时才需要填写。 |
| deviceId | 必选 | String | query | 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| gatewayId | 必选 | String | query | 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 |
| pageNo | 可选 | Integer | query | 分页查询参数,查询结果分页显示时指定要查看的页信息,默认0,查询第一页,建议通过设置pageNo和pageSize做分页查询。 |
| pageSize | 可选 | Integer | query | 分页查询参数,查询结果分页显示时每页显示的记录数,默认1,最大值2000,建议根据设备上报数据的平均大小来设置,保证单次查询返回的包大小不超过16Mb,同时根据单次查询返回的包大小以及网络带宽设置合理的超时时间。 |
| startTime | 可选 | String | query | 查询产生时间在startTime之后的历史数据。需要填写UTC时间,格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。 您需要根据本地所在时区自己进行时间转换。 |
| endTime | 可选 | String | query | 查询产生时间在endTime之前的历史数据。需要填写UTC时间,格式:yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。 您需要根据本地所在时区自己进行时间转换。 |
响应参数
StatusCode: 200 OK
| 参数 | 类型 | 描述 |
|---|---|---|
| totalCount | Long | 查询的记录数量。 |
| pageNo | Long | 查询的页码。 |
| pageSize | Long | 查询每页信息的数量。 |
| deviceDataHistoryDTOs | List<DeviceDataHistoryDTO> | 设备历史数据列表。 |
| 参数 | 类型 | 描述 |
|---|---|---|
| serviceId | String(256) | 设备的服务标识。 |
| deviceId | String(256) | 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| gatewayId | String(256) | 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 |
| appId | String(256) | 设备所属的应用ID。 |
| data | JsonObject | 设备上报的数据。 |
| timestamp | String(256) | 上报数据的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
请求示例
GET https://{host}:{port}/iocm/app/data/v1.2.0/deviceDataHistory?deviceId={deviceId}&gatewayId={gatewayId}&appId={appId}&pageNo={pageNo}&pageSize={pageSize}&startTime={startTime}&endTime={endTime}
Content-Type: application/json
app_key: ******
Authorization: Bearer ***** 正常响应示例
Status Code: 200 OK
Content-Type: application/json
{
"totalCount":"****",
"pageNo":"*****",
"pageSize":"*****",
"deviceDataHistoryDTOs":[
{
"serviceId":"*****",
"deviceId":"*****",
"gatewayId":"*****",
"appId":"*****",
"data":"*****",
"timestamp":"*****"
}
]
} 错误码
| Http状态码 | 错误码 | 错误描述 | 说明 |
|---|---|---|---|
| 200 | 100418 | The deviceData is not existed. | 设备信息不存在。 处理建议:
|
| 400 | 100216 | The application input is invalid. | 应用输入无效。 处理建议:请参考请求参数说明检查接口请求中的参数是否有误。例如,pageSize是否超过2000。 |
| 400 | 100419 | The deviceId and gatewayId can't be both null. | deviceId和gatewayId不能同时为空。 处理建议:请检查请求参数中deviceId和gatewayId是否填写。 |
| 403 | 100203 | The application is not existed. | 应用不存在。 处理建议:
|
| 403 | 100217 | The application hasn't been authorized. | 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
| 403 | 1010009 | app throttle exceed. | 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
| 403 | 1010005 | Invalid access token or appId. | 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
| 500 | 100203 | The application is not existed. | 应用不存在。 处理建议:
|
| 500 | 50252 | Internal server error. | 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |
Last Article: 批量查询设备信息
Next Article: 查询设备影子历史数据
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.