IoT Time Series Java 客户端
简介
IoT 时间序列 Java 客户端允许用户与 assets 的相关时间序列数据进行交互。有关该服务的更多信息,请参见 IoT Time Series。
提示
在 IoT 环境中,assets 指 entity,aspects 指 propertyset。以下示例中的占位符由尖括号 < >
表示。
时间序列操作
客户端名称: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