Get Last Changed Data

Get the last changed 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/data/last-changed

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. 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>>
ifWithLocalTime Optional Boolean
  • true = returns data in local time format
  • false (default) = does not return data in local time format
localTimeAccuracy Optional Boolean
  • true = query returns data with millisecond time stamp
  • false (default) = query returns data without millisecond time stamp
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 last changed data records. 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 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

Request Sample

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

method: POST

Content-Type: application/json

requestBody:
{
  "pointIds": "yourPointId1,yourPointId2,yourPointId3",
  "ifWithLocalTime": true,
  "assetIds": "yourAssetId1,yourAssetId2",
  "localTimeFormat": 0,
  "localTimeAccuracy": true,
  "itemFormat": 0
}

Return Sample

{
  "msg": "OK",
  "code": 0,
  "data": {
    "items": [
      {
        "assetId": "yourAssetId1",
        "yourPointId1": 29,
        "localtime": "2021-01-14 23:29:00.000",
        "timestamp": 1610638140000
      },
      {
        "assetId": "yourAssetId1",
        "yourPointId2": "another_00",
        "localtime": "2021-01-14 23:00:00.000",
        "timestamp": 1610636400000
      },
      {
        "assetId": "yourAssetId1",
        "yourPointId3": 1,
        "localtime": "2021-01-14 23:10:00.000",
        "timestamp": 1610637000000
      },
      {
        "assetId": "yourAssetId2",
        "yourPointId1": 1,
        "localtime": "2021-01-14 23:10:00.000",
        "timestamp": 1610637000000
      },
      {
        "assetId": "yourAssetId2",
        "yourPointId2": 1,
        "localtime": "2021-01-15 07:30:00.000",
        "timestamp": 1610667000000
      },
      {
        "assetId": "yourAssetId2",
        "yourPointId3": 29,
        "localtime": "2021-01-14 23:29:00.000",
        "timestamp": 1610638140000
      }
    ]
  },
  "submsg": ""
}

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 GetLastChangedData {
    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/data/last-changed")
                .queryParam("orgId", "yourOrgId")
                .getResponse(request, JSONObject.class);
        System.out.println(response);
    }
}