jerik.olfermann.ext@siemens.com sebastian.haenisch@siemens.com title: MindSphere SDK - IoT Time Series - 开发文档
IoT Time Series Java 客户端¶
简介¶
IoT Time Series Java 客户端允许用户与 assets 相关的时间序列数据进行交互。有关该服务的更多信息,请参见 IoT Time Series。
提示
在 IoT 环境中,assets 指 entity
,aspects 指 propertyset
。
时间序列操作¶
客户端名称:TimeseriesClient
读取最新时间序列数据¶
读取单个实体和属性集的时间序列数据最新值。
// Construct the TimeseriesClient object
TimeseriesClient timeseriesClient = TimeseriesClient.builder()
.mindsphereCredentials(credentials)
.restClientConfig(config)
.build();
TimeseriesData timeseriesData = null;
try {
timeseriesData = timeseriesClient.getLatestTimeseries(entity, propertySetName);
} catch (MindsphereException e) {
// Exception handling
}
读取时间序列数据¶
此操作将调用 IoT Time Series API 以执行下述操作:
- 读取单个实体和属性集的时间序列数据。
- 返回指定时间范围内的数据。
- 如果未提供范围,则返回最新值。
- 返回所选字段和限制内的时间序列数据。
//Construct TimeseriesClient object as shown above
List<TimeseriesData> timeseriesDataList = null;
try {
timeseriesDataList = timeseriesClient.getTimeseries(entity, propertySetName, from, to, limit, select);
} catch (MindsphereException e) {
// Exception handling
}
写入时间序列数据¶
写入单个实体和属性集的时间序列。该操作将覆盖现有时间序列数据。
说明
最大写入有效载荷为 1 MB。
//Construct TimeseriesClient object as shown above
boolean success = false;
try {
success = timeseriesClient.putTimeSeries(entity, propertySetName, timeSeriesList, sync);
} catch (MindsphereException e) {
// Exception handling
}
导入时间序列数据¶
导入或更新单个实体和属性集的时间序列。该操作将覆盖现有时间序列数据。
//Construct TimeseriesClient object as shown above
boolean success = false;
try {
success = timeseriesClient.importTimeseries(entity, propertySetName, timeseriesFile, sync);
} catch (MindsphereException e) {
// Exception handling
}
删除时间序列数据¶
删除指定时间范围内的时间序列实体和属性集。该操作会同时删除属性集内的所有属性数据。
说明
一次只能删除最多6个月的数据。
//Construct TimeseriesClient object as shown above
boolean success = false;
try {
success = timeseriesClient.deleteTimeSeries(entity, propertySetName, from, to, sync);
} catch (MindsphereException e) {
// Exception handling
}
页面迭代器¶
IoT Time Series API 客户端的页面迭代器 TimeseriesPageIterator 可用于获取特定的数据页、下一页数据或上一页数据。
页面迭代器目前支持以下操作:
getPage(Integer pageNumber);
next();
previous();
需要使用 IoT Time Series API 客户端、实体、属性集名称、数据范围(from
日期和 to
日期)以及页面大小对页面迭代器进行实例化。如未提供页面大小,则该值默认为 2000。
以下示例代码显示了 IoT Time Series 页面迭代器的实例化和使用过程:
try {
//Create the timeseries client
TimeseriesClient timeseriesClient = TimeseriesClient.builder()
.mindsphereCredentials(credentials)
.restClientConfig(config)
.build();
// Create the timeseries page iterator
TimeseriesPageIterator timeseriesPageIterator =
new TimeseriesPageIterator(timeseriesClient, entityId, propertySetName, fromDateString, toDateString, pageSize);
List<TimeseriesData> timseriesDataList = timeseriesPageIterator.getPage(10);
} catch (MindsphereException e) {
// Exception handling
}
Last update: March 22, 2023