Get Asset Latest Data¶
Get the latest data of the specified measurement points of specified devices.
Operation Permissions¶
Required Authorization |
Required Operation Permission |
---|---|
Asset |
Read |
For more information about resources and required permission, see Policies, Roles and Permissions>>
Request Format¶
POST https://{apigw-address}/tsdb-service/v2.1/latest
Request Parameters (URI)¶
Name |
Location (Path/Query) |
Mandatory/Optional |
Data Type |
Description |
---|---|---|---|---|
orgId |
Query |
Mandatory |
String |
The organization ID which the asset belongs to. How to get organization ID>> |
Request Parameters (Body)¶
Name |
Mandatory/Optional |
Data Type |
Description |
---|---|---|---|
modelId |
Optional |
String |
The model ID.`How to get model ID>> </docs/api/en/2.3.0/api_faqs#how-to-get-model-id-modelid-modelid>`__ |
assetIds |
Mandatory |
String |
The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>> |
pointIds |
Mandatory |
String |
The measurement point ID. Supports the query of multiple measurement point IDs, separated by commas. How to get measurement point ID>> |
timeWindow |
Optional |
Integer |
Specify the time window for querying the latest data (by minutes). The minimum value is 0. If not specified, no constrain is applied. For example: when timeWindow=n, the data within n minutes from the current time is returned. When timeWindow=0, if the latest data timestamp is later than the current time, the data of the latest timestamp will be returned. |
ifWithLocalTime |
Optional |
Boolean |
|
localTimeAccuracy |
Optional |
Boolean |
|
localTimeFormat |
Optional |
Integer |
Specify whether the local time value includes time zone information of devices. 0 (default): without time zone information; 1: with time zone information. |
itemFormat |
Optional |
Integer |
Specify the displaying format of the returned device data. Available options are 0, 1, and 2. For the example of each displaying format, see Item Format Example>> |
Response Parameters¶
Name |
Data Type |
Description |
---|---|---|
data |
List<JSONObject> |
The list of asset data. The data returned for a single point of a single device is sorted by the data time stamp in ascending order. For more information, see items |
items¶
Sample¶
{
"assetId": "yourAssetId",
"yourPointId": "1.1236",
"timestamp": 1560249312446
}
Parameters¶
Name |
Data Type |
Description |
---|---|---|
assetId |
String |
The asset ID. |
timestamp |
Long |
The data timestamp (UNIX time, accurate to the second). |
pointId |
Double |
This parameter is a variable, representing the identifier and data of the measurement point. |
localtime |
String |
The data timestamp in local time format (accurate to the second). The value of the |
Error Codes¶
For description of error codes, see Common Error Codes.
Sample¶
Request Sample¶
url: https://{apigw-address}/tsdb-service/v2.1/latest?orgId=yourOrgId
method: POST
Content-Type: application/json
requestBody:
{
"pointIds": "yourPointIds",
"ifWithLocalTime": true,
"timeWindow": "",
"assetIds": "yourAssetIds",
"localTimeFormat": 1,
"localTimeAccuracy": false,
"itemFormat": 0
}
Return Sample¶
{
"code": 0,
"msg": "OK",
"submsg": null,
"data": {
"items": [
{
"localtime":"2020-03-31T23:59:59+08:00",
"assetId": "yourAssetId",
"yourPointId": 2.123,
"timestamp": 1585670399000
}
]
}
}
Java SDK Sample¶
import com.alibaba.fastjson.JSONObject;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envision.apim.poseidon.request.PoseidonRequest;
public class GetAssetLatestData {
private static final String API_GATEWAY_URL = "https://{apigw-address}";
private static class Request extends PoseidonRequest {
public void setBodyParams(String key, Object value) {
bodyParams().put(key, value);
}
public void setMethod(String method) {
this.method = method;
}
private String method;
@Override
public String baseUri() {
return "";
}
@Override
public String method() {
return method;
}
}
public static void main(String[] args) {
//1. Click Application Registration in the left navigation of the EnOS Management Console.
//2. Click the application that needs to call the API, and click Basic Information. accessKey and secretKey correspond to AccessKey and SecretKey in EnOS.
Poseidon poseidon = Poseidon.config(
PConfig.init()
.appKey("AccessKey of your APP")
.appSecret("SecretKey of your APP")
).method("POST").header("Content-Type", "application/json");
Request request = new Request();
request.setBodyParams("assetIds", "yourAssetId1,yourAssetId2");
request.setBodyParams("pointIds", "yourPointIds");
request.setBodyParams("ifWithLocalTime", true);
request.setBodyParams("localTimeAccuracy", false);
request.setBodyParams("localTimeFormat", 1);
request.setBodyParams("itemFormat", 0);
JSONObject response = poseidon
.url(API_GATEWAY_URL + "/tsdb-service/v2.1/latest")
.queryParam("orgId", "yourOrgId")
.getResponse(request, JSONObject.class);
System.out.println(response);
}
}