Skip to content

IoT Time Series Java 客户端

简介

IoT 时间序列 Java 客户端允许用户与 assets 的相关时间序列数据进行交互。有关该服务的更多信息,请参见 IoT Time Series

提示

在 IoT 环境中,assetsentityaspectspropertyset。以下示例中的占位符由尖括号 < > 表示。

时间序列操作

客户端名称:TimeSeriesClient

读取时间序列数据

此部分展示了实现以下行为的两个选项:

  • 读取 asset 的单个 aspect 的时间序列数据。
  • 返回指定时间范围内的数据。
  • 如果未提供范围,则返回最新值。
  • 返回所选字段和限制内的时间序列数据。
// Construct the TimeSeriesClient object
TimeSeriesClient timeseries_client = TimeSeriesClient.builder()
                                        .mindsphereCredentials(<credentials>)
                                        .restClientConfig(<config>)
                                        .build();


List<TimeseriesData> timeseriesDataList = null;

try {
  String from_time = "2018-01-24T05:03:41.363Z";
  String to_time = "2018-01-24T05:04:41.363Z";
  Integer limit = 100;
  String select = null;

  timeseriesDataList = timeseries_client.getTimeseries(<entity_id>, <property_set_name>, from_time, to_time, limit, select);
} catch (MindsphereException e) {
  // Exception handling
}

或者,使用 GetTimeseriesRequest 模型。

// Construct the TimeSeriesClient object as shown above
GetTimeseriesRequest request_object = new GetTimeseriesRequest();
request_object.setEntity(<entity_id>);
request_object.setPropertysetname(<property_set_name>);
request_object.setFrom(<from_time>);
request_object.setTo(<to_time>);

List<TimeseriesData> timeseries_data_list = null;
try {
  timeseries_data_list = timeseries_client.getTimeseries(request_object);
} catch (MindsphereException e) {
  // Exception handling
}

读取最新时间序列数据

本部分展示了读取 asset 的单个 aspect 的时间序列数据最新值的两个选项。

// Construct the TimeSeriesClient object as shown above
List<TimeseriesData> timeseries_data = null;
try {
    timeseries_data = timeseries_client.getTimeseries(<entity_id>, <property_set_name>, null, null, null, <select>);
} catch (MindsphereException e) {
    // Exception handling
}

或者,使用 GetTimeseriesRequest 模型。

// Construct the TimeSeriesClient object as shown above
GetTimeseriesRequest request_object = new GetTimeseriesRequest();
request_object.setEntity(<entity_id>);
request_object.setPropertysetname(<property_set_name>);

List<TimeseriesData> timeseries_data = null;
try {
    timeseries_data = timeseries_client.getTimeseries(request_object);
} catch (MindsphereException e) {
    // Exception handling
}

写入时间序列数据

本部分展示了写入 asset 的单个 aspect 的时间序列数据的两个选项。该操作将覆盖现有时间序列数据。

说明

最大写入有效载荷为 1 MB。

// Construct the TimeSeriesClient object as shown above

// Create a list of the Timeseries objects to be added
List<Timeseries> time_series_data_list = new ArrayList<>();

// Create a Timeseries object
Timeseries time_series_object = new Timeseries();
time_series_object.setTime(Instant.now().toString());

// Create a map to add timeseries values to variables of the entity
Map<String, Object> data_map = time_series_object.getFields();
data_map.put("FRWheel", 99);
data_map.put("FLWheel", 98);

// Add the Timeseries object to the list
time_series_data_list.add(time_series_object);

try {
  timeseries_client.putTimeSeries(<entity_id>, <property_set_name>, time_series_data_list);
} catch (MindsphereException e) {
// Exception handling
}

或者,使用 PutTimeseriesRequest 模型。

// Create a list of the Timeseries objects as shown above
PutTimeseriesRequest request_object = new PutTimeseriesRequest();
request_object.setEntity(<entity_id>);
request_object.setPropertysetname(<property_set_name>);
request_object.setTimeseries(time_series_data_list);

try {
  timeseries_client.putTimeSeries(request_object);
} catch (MindsphereException e) {
// Exception handling
}

删除时间序列数据

本部分展示了从 asset 的 aspect 中删除指定时间范围内的时间序列数据的两个选项。该操作会同时删除 aspect 内所有 variables 的数据。

说明

一次只能删除最多6个月的数据。

// Construct the TimeSeriesClient object as shown above
try {
  timeseries_client.deleteTimeSeries(<entity_id>, <property_set_name>, <from_time>, <to_time>);
} catch (MindsphereException e) {
  // Exception handling
}

或者,使用 DeleteTimeseriesRequest 模型。

// Construct the TimeSeriesClient object as shown above
DeleteTimeseriesRequest request_object = new DeleteTimeseriesRequest();
request_object.setEntity(<entity_id>);
request_object.setPropertysetname(<property_set_name>);
request_object.setFrom(<from_time>);
request_object.setTo(<to_time>);

try {
  timeseries_client.deleteTimeSeries(request_object);
} catch (MindsphereException e) {
  // Exception handling
}

还有问题?

向社区提问


除非另行声明,该网站内容遵循MindSphere开发许可协议.


Last update: July 11, 2019