Get Asset Latest Data

Get the latest data of all measurement points of a specified device.

Operation Permissions

Required Authorization Required Operation Permission
Asset Read

Request Format

GET https://{apigw-address}/tsdb-service/v2.0/latest?orgId={}&assetIds={}&measurepoints={}&timeWindow={}&accessKey={}

Request Parameters (URI)

Name Location (Path/Query) Required or Not Data Type Description
orgId Query true String Organization ID which the asset belongs to. How to get orgId>>
assetIds Query true String Asset ID, which supports querying multiple assets; multiple asset IDs are separated by commas. How to get assetId>>
measurepoints Query true String Asset measurement point. It is supported to query multiple measurement points, and all the measurement points are separated by commas; the upper limit for query is 3000 (Number of devices *Number of measurement points). How to get pointId>>
timeWindow Query false Integer Returns the data schedule setting. Its unit is minute and its minimum value is 0; no constrain is applied if it is not in the request.
accessKey Query false String Service account of the application. The application authenticates with accessKey to obtain the data that it is authorized to access. How to get accessKey>>

Response Parameters

Name Data Type Description
items List<Object> List of asset data. The data returned for a single point of a single device is sorted by time in ascending order. Parameters are stored in the Object struct. See items.

items

Sample

{
        "assetId": "4DXYH7nS",
        "opentsdb_pi_point_xxx": "1.1236",
        "timestamp": 1560249312446
}

Parameters

Name Data Type Description
assetId get_asset_ai_data_with_aggregation_logic Asset ID
pointId Object This parameter is a variable, indicating the identifier and data for the measurement point.
timestamp String Data time stamp (UNIX time, accurate to second)

Error Codes

For description of error codes, see Common Error Codes.

Sample 1

Request Sample

Local time format:

GET
https://{apigw-address}/tsdb-service/v2.0/latest?orgId=o15528761854851&assetIds=4DXYH7nS&measurepoints=opentsdb_pi_point_xxx&timeWindow=&accessKey=accessKey

Return Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "4DXYH7nS",
        "opentsdb_pi_point_xxx": 2.123,
        "timestamp": 1560249532446
      }
    ]
  }
}

Java SDK Sample

private static class Request extends PoseidonRequest{

    public void setQueryParam(String key, Object value){
        queryEncodeParams().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;
    }
}


@Test
public void getAssetsLatestDataTest(){

    //1. Click Application Registration in the left navigation of the EnOS 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.
    String accessKey = "29b8d283-dddd-4c31f0e3a356-0f80-4fdf";
    String secretKey = "f0e3a856-0fc0-4fdf-b1e5-b34da152879c";

    //New a request and pass the required parameters into the map that exists in the query. The key is the parameter name and the value is the parameter value.
    Request request = new Request();
    request.setQueryParam("orgId", "yourOrgId");
    request.setQueryParam("timeWindow", 10);
    request.setQueryParam("assetIds","4DXYH7nS");
    request.setQueryParam("measurepoints", "opentsdb_pi_point_xxx");
    request.setQueryParam("accessKey", accessKey);

    request.setMethod("GET");

    try {
        JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                .url("http://apim-gateway/tsdb-service/v2.0/latest")
                .getResponse(request, JSONObject.class);
        System.out.println(response);
    } catch (Exception e) {
        e.printStackTrace();
    }
}