Get Asset Unformatted Data

Get unformatted original data of specified measurement point of specified devices within a certain period.

Operation Permissions

Required Authorization

Required Operation Permission

Asset

Read

For more information about resources and permission, see Policies, Roles and Permissions>>

Request Format

POST https://{apigw-address}/tsdb-service/v2.1/unformatted

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

assetIds

Mandatory

String

The asset ID. Support queries with multiple asset IDs. How to get asset ID>>

pointIds

Mandatory

String

The measurement point ID. Support queries with only one measurement point ID. How to get measurement point ID>>

startTime

Mandatory

String

The start time of the sampling data, support both UTC and local time formats.

  • 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

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.

localTimeAccuracy

Optional

Boolean

  • true = query returns data with millisecond timestamp

  • false (default) = query returns data without millisecond timestamp

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

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.

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 timestamp in ascending order. For more information, see items

items

Sample

{
  "localtime": "2021-10-18 00:00:00.000",
  "assetId": "yourAssetId",
  "yourPointId": "0.1",
  "timestamp": 1634486400000
}

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 localTimeFormat parameter determines whether the local time value includes the time zone information.

Error Codes

For description of error codes, see Common Error Codes.

Sample 1

Request Sample

Local time format:

url: https://{apigw-address}/tsdb-service/v2.1/unformatted?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "YourAssetIds",
  "pointIds": "YourPointIds",
  "startTime": "2020-04-20 00:00:00",
  "endTime": "2020-04-21 00:00:00",
  "pageSize": 10,
  "localTimeAccuracy": true,
  "localTimeFormat": 1,
  "itemFormat": 0,
  "orderBy": "timestamp asc"
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1587312000000,
        "yourPointId": 1.1236,
        "localtime": "2020-04-20T00:00:00.000+08:00"
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1587312003000,
        "yourPointId": 1.1236,
        "localtime": "2020-04-20T00:00:03.000+08:00"
      }
    ]
  }
}

Sample 2

Request Sample

UTC time format:

url: https://{apigw-address}/tsdb-service/v2.1/unformatted?orgId=yourOrgId

method: POST

Content-Type: application/json

requestBody:
{
  "assetIds": "yourAssetIds",
  "pointIds": "yourPointId",
  "startTime": "2020-04-20T00:00:00+08:00",
  "endTime": "2020-04-21T00:00:00+08:00",
  "pageSize": 10,
  "localTimeAccuracy": false,
  "localTimeFormat": 0,
  "itemFormat": 0,
  "orderBy": "timestamp asc"
}

Return Sample

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId",
        "timestamp": 1587312000000,
        "yourPointId": 1.1236,
        "localtime": "2020-04-20 00:00:00"
      },
      {
        "assetId": "yourAssetId",
        "timestamp": 1587312003000,
        "yourPointId": 1.1236,
        "localtime": "2020-04-20 00:00:03"
      }
    ]
  }
}

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 GetAssetUnformattedData {
    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", "yourAssetIds");
        request.setBodyParams("pointIds", "yourPointIds");
        request.setBodyParams("startTime", "2021-09-01 00:00:00");
        request.setBodyParams("endTime", "2021-09-30 00:00:00");
        request.setBodyParams("pageSize", 10);
        request.setBodyParams("localTimeAccuracy", false);
        request.setBodyParams("localTimeFormat", 0);
        request.setBodyParams("itemFormat", 0);
        request.setBodyParams("orderBy", "timestamp asc");

        JSONObject response = poseidon
                .url(API_GATEWAY_URL + "/tsdb-service/v2.1/unformatted")
                .queryParam("orgId", "yourOrgId")
                .getResponse(request, JSONObject.class);
        System.out.println(response);
    }
}