Get Asset Latest Data

Get the latest data of all 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>>

Using GET Method

Request Format

GET https://{apigw-address}/tsdb-service/v2.0/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>>

modelId

Query

Optional

String

The model ID. How to get model ID>>

assetIds

Query

Mandatory

String

The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>>

measurepoints

Query

Mandatory

String

The measurement point ID. Supports the query of multiple measurement point IDs, separated by commas. How to get measurement point ID>>

timeWindow

Query

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.

accessKey

Query

Optional

String

The service account for authentication purposes. How to get the accessKey>>

ifWithLocalTime

Query

Optional

Boolean

  • true = returns data in local time format

  • false (default) = does not return data in local time format

localTimeAccuracy

Query

Optional

Boolean

  • true = query returns data with millisecond time stamp

  • false (default) = query returns data without millisecond time stamp

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": "4DXYH7nS",
        "opentsdb_pi_point": 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.

Error Codes

For description of error codes, see Common Error Codes.

Samples (GET Method)

Request Sample

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

method: GET

Return Sample

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

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;
import org.junit.Test;

public class GetMethod {

    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 GetAssetLatestDataTest(){

        //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.
        String accessKey = "yourAccessKey";
        String secretKey = "yourSecretKey";

        //Create 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");

        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();
        }
    }
}

Using POST Method

Request Format

POST https://{apigw-address}/tsdb-service/v2.0/latest

Request Parameters (Body)

Name

Mandatory/Optional

Data Type

Description

orgId

Mandatory

String

The organization ID which the asset belongs to. How to get organization ID>>

assetIds

Mandatory

String

The asset ID. Supports the query of multiple asset IDs, separated by commas. How to get asset ID>>

measurepoints

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

String

Specify the time window for querying the latest data (by minutes). The minimum value is 0. If not specified, no constrain is applied.

accessKey

Optional

String

The service account for authentication purposes. How to get the accessKey>>

ifWithLocalTime

Optional

String

  • true = returns data in local time format

  • false (default) = does not return data in local time format

localTimeAccuracy

Optional

String

  • true = query returns data with millisecond time stamp

  • false (default) = query returns data without millisecond time stamp

Response Parameters

See description in Response Parameters of the Using GET Method section.

Error Codes

For description of error codes, see Common Error Codes.

Sample (POST Method)

Request Sample

url: https://{apigw-address}/tsdb-service/v2.0/latest

method: POST

Content-Type: multipart/form-data;charset=UTF-8

requestBody:
{
  "orgId": "yourOrgId",
  "measurepoints": "opentsdb_pi_point",
  "timeWindow": 10,
  "assetIds": "4DXYH7nS",
  "accessKey": "accessKey"
}

Return Sample

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

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;
import org.junit.Test;

public class PostMethod {

    private static class Request extends PoseidonRequest {

        public void setFormParam(String key, String value){
            formParams().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 GetAssetLatestDataTest(){

        //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.
        String accessKey = "yourAccessKey";
        String secretKey = "yourSecretKey";

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

        request.setMethod("POST");

        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();
        }
    }
}