Get Asset Raw Data by Time Range

Get the original data of specified measurement points of specified devices within a certain period (covering AI, DI, and common data types) and perform application development.

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/raw

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>>
startTime Query Mandatory String

The start time of the sampling data, where both UTC and local time formats are supported.

  • For UTC time format, the application will query all the asset data by the unified start timestamp and end timestamp. Timezone information is required for the UTC time format: 2019-06-01T00:00:00+08:00.
  • For local time format, the application will query the asset data by the local time of where the device is located. Its format is: YYYY-MM-DD HH:MM:SS.
endTime Query Mandatory String The end time of the sampling data. Its format must be consistent with startTime.
pageSize Query Optional Integer The upper limit of the returned records in a single page for a single measurement point of a single device, which is 1,000 by default.
accessKey Query Optional String The service account for authentication purposes. How to get the accessKey>>
orderBy Query Optional String

Specify whether to sort the response result according to a certain field. Only the field timestamp is supported for now.

  • timestamp asc (default): Sort result by ascending order
  • timestamp desc: Sort result by descending order.
withQuality Query Optional Boolean
  • true = the quality indicator is included in the response
  • false (default) = the quality indicator is not included in the response
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": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1.1236,
        "localtime": "6/11/2019 6:35:12 PM",
        "quality": null
}
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). If UTC time format is used when specifying the statTime and endtime, this value will be null.
quality Integer The quality indicator.

Error Codes

For description of error codes, see Common Error Codes.

Sample 1 (GET Method)

Request Sample

Local time format:

url: https://{apigw-address}/tsdb-service/v2.0/raw?orgId=yourOrgId&modelId=yourModelId&assetIds=yourAssetIds&measurepoints=yourPointIds&startTime=2019-05-26%2010:00:00&endTime=2019-06-28%2023:00:00&pageSize=&accessKey=accessKeyOfYourAPP

method: GET

Response Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:12"
      },
      {
        "localtime": "2019-06-11 18:35:12",
        "yourPointId": "0",
        "assetId": "yourAssetId",
        "timestamp": 1560329369735
      }
    ]
  }
}

Sample 2 (GET Method)

Request Sample

UTC time format:

url: https://{apigw-address}/tsdb-service/v2.0/raw?orgId=yourOrgId&accessKey=accessKeyOfYourAPP&modelId=yourModelId&assetIds=yourAssetIds&measurepoints=yourPointIds&startTime=2019-06-01T00:00:00%2B08:00&endTime=2019-06-11T23:00:00%2B08:00&pageSize=100

method: GET

Return Sample

{
    "status": 0,
    "requestId": null,
    "msg": "success",
    "submsg": null,
    "data": {
        "data": [
            {
                "localtime": null,
                "assetId": "yourAssetId",
                "yourPointId": 1.1236,
                "timestamp": 1560249312446
            },
            {
                "localtime": null,
                "yourPointId": 0,
                "assetId": "yourAssetId",
                "timestamp": 1560329369735
            }
        ]
    }
}

Sample 3 (GET Method)

Request Sample

Request with quality indicator:

url: https://{apigw-address}/tsdb-service/v2.0/raw?orgId=yourOrgId&modelId=yourModelId&assetIds=yourAssetIds&measurepoints=yourPointIds&startTime=2019-06-01%2010:00:00&endTime=2019-06-11%2023:00:00&pageSize=&accessKey=accessKeyOfYourAPP&withQuality=true

method: GET

Return Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:12",
        "quality": 0
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249332446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:32",
        "quality": 0
      }
    ]
  }
}

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

    }

    public void GetAssetsRawDataByTimeRangeTest(){
        //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 = "AccessKey of your APP";
        String secretKey = "SecretKey of your APP";

        //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("modelId", "yourModelId");
        request.setQueryParam("assetIds","yourAssetIds");
        request.setQueryParam("measurepoints", "yourPointId1,yourPointId2");
        request.setQueryParam("startTime", "2019-06-01 00:00:00"); //For UTC time format: 2019-06-01T00:00:00+08:00
        request.setQueryParam("endTime", "2019-06-11 23:00:00");   //For UTC time format: 2019-06-11T23:00:00+08:00
        request.setQueryParam("pageSize", 10);

        request.setMethod("GET");

        try {
            JSONObject response =  Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                    .url("https://{apigw-address}/tsdb-service/v2.0/raw")
                    .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/raw

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>>
modelId Optional String The model ID. How to get model 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>>
startTime Mandatory String

The start time of the sampling data, where both UTC and local time formats are supported.

  • For UTC time format, the application will query all the asset data by the unified start timestamp and end timestamp. Timezone information is required for the UTC time format: 2019-06-01T00:00:00+08:00.
  • For local time format, the application will query the asset data by the local time of where the device is located. Its format is: YYYY-MM-DD HH:MM:SS.
endTime Mandatory String The end time of the sampling data. Its format must be consistent with startTime.
pageSize Optional String The upper limit of the returned records in a single page for a single measurement point of a single device, which is 1,000 by default.
accessKey Optional String The service account for authentication purposes. How to get the accessKey>>
orderBy Optional String

Specify whether to sort the response result according to a certain field. Only the field timestamp is supported for now.

  • timestamp asc (default): Sort result by ascending order
  • timestamp desc: Sort result by descending order.
withQuality Optional String
  • true = the quality indicator is included in the response
  • false = the quality indicator is not included in the response
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 1 (POST Method)

Request Sample

Local time format:

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

method: POST

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

requestBody:
{
  "orgId": "yourOrgId",
  "assetIds": "yourAssetIds",
  "measurepoints": "yourPointIds",
  "startTime": "2020-04-20 00:00:00",
  "endTime": "2020-04-21 00:00:00",
  "pageSize": 1000,
  "accessKey": "accessKey of your APP"
}

Response Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:12"
      },
      {
        "localtime": "2019-06-11 18:35:12",
        "yourPointId": 0,
        "assetId": "yourAssetId",
        "timestamp": 1560329369735
      }
    ]
  }
}

Sample 2 (POST Method)

Request Sample

UTC time format:

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

method: POST

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

requestBody:
{
  "orgId": "yourOrgId",
  "assetIds": "yourAssetIds",
  "measurepoints": "yourPointId1,yourPointId2",
  "startTime": "2019-06-01T00:00:00%2B08:00",
  "endTime": "2019-06-11T23:00:00%2B08:00",
  "pageSize": 1000
}

Return Sample

{
    "status": 0,
    "requestId": null,
    "msg": "success",
    "submsg": null,
    "data": {
        "data": [
            {
                "localtime": null,
                "assetId": "yourAssetId",
                "yourPointId1": 1.1236,
                "timestamp": 1560249312446
            },
            {
                "localtime": null,
                "yourPointId2": 0,
                "assetId": "yourAssetId",
                "timestamp": 1560329369735
            }
        ]
    }
}

Sample 3 (POST Method)

Request Sample

Request with quality indicator:

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

method: POST

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

requestBody:
{
  "orgId": "yourOrgId",
  "assetIds": "yourAssetIds",
  "measurepoints": "yourPointIds",
  "startTime": "2020-04-20 00:00:00",
  "endTime": "2020-04-21 00:00:00",
  "accessKey": "accessKey of your APP",
  "withQuality": true
}

Return Sample

{
  "status": 0,
  "requestId": null,
  "msg": "success",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249312446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:12",
        "quality": 0
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1560249332446,
        "yourPointId": 1.1236,
        "localtime": "2019-06-11 18:35:32",
        "quality": 0
      }
    ]
  }
}

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

    }

    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.
        String accessKey = "AccessKey of your APP";
        String secretKey = "SecretKey of your APP";

        //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("modelId", "yourModelId");
        request.setFormParam("assetIds","yourAssetIds");
        request.setFormParam("measurepoints", "yourPointId1,yourPointId2");
        request.setFormParam("startTime", "2019-06-01 00:00:00"); //For UTC time format: 2019-06-01T00:00:00+08:00
        request.setFormParam("endTime", "2019-06-11 23:00:00");   //For UTC time format: 2019-06-11T23:00:00+08:00
        request.setFormParam("pageSize", "10");

        request.setMethod("POST");

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