Timestream提供了数据点和元数据的写入接口。
数据点写入
Timestream提供了同步和异步两种数据点写入方式。其中异步接口的底层是通过TableStoreWriter来写入,其写入吞吐能力更高,对延时不是特别敏感的业务建议使用异步接口。
元数据写入
Timestream支持元数据同步写入。Timestream支持写入和删除元数据。
说明 写入时间线元数据会覆盖该时间线元数据的原有数据。
示例代码
- 写入数据点。
// 构造时间线标示
TimestreamIdentifier identifier = new TimestreamIdentifier.Builder("cpu")
.addTag("Role", "OTSServer")
.build();
// 构造数据点,支持多个值
Point point = new Point.Builder(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("a1", 1)
.addField("a2", true)
.addField("a3", 12.0)
.addField("a4", "value")
.build();
// 数据表操作对象
TimestreamDataTable dataTable = db.dataTable(dataTableName);
// 同步写入数据
try {
dataTable.write(
meta.getIdentifier(),
point);
} catch (TableStoreException e) {
// 异常处理
}
// 异步写入数据
dataTable.asyncWrite(
meta.getIdentifier(),
point);
- 写入时间线元数据。
// 构造时间线标示
TimestreamIdentifier identifier = new TimestreamIdentifier.Builder("cpu")
.addTag("Role", "OTSServer")
.build();
// 构造时间线元数据
TimestreamMeta meta = new TimestreamMeta(identifier).addAttribute("a1", "");
TimestreamMetaTable metaTable = db.metaTable();
// 同步写入时间线元数据
metaTable.put(meta);
- 删除时间线元数据。
// 构造时间线标示
TimestreamIdentifier identifier = new TimestreamIdentifier.Builder("cpu")
.addTag("Role", "OTSServer")
.build();
TimestreamMetaTable metaTable = db.metaTable();
// 同步删除时间线元数据
metaTable.delete(identifier);