Timestream提供了数据点和元数据的写入接口。

数据点写入

Timestream提供了同步和异步两种数据点写入方式。其中异步接口的底层是通过TableStoreWriter来写入,其写入吞吐能力更高,对延时不是特别敏感的业务建议使用异步接口。

元数据写入

Timestream支持元数据同步写入。Timestream支持写入和删除元数据。
说明 写入时间线元数据会覆盖该时间线元数据的原有数据。

示例代码

  1. 写入数据点。
            // 构造时间线标示
            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);
  2. 写入时间线元数据。
            // 构造时间线标示
            TimestreamIdentifier identifier = new TimestreamIdentifier.Builder("cpu")
                    .addTag("Role", "OTSServer")
                    .build();
            // 构造时间线元数据
            TimestreamMeta meta = new TimestreamMeta(identifier).addAttribute("a1", "");
            TimestreamMetaTable metaTable = db.metaTable();
            // 同步写入时间线元数据
            metaTable.put(meta);
  3. 删除时间线元数据。
            // 构造时间线标示
            TimestreamIdentifier identifier = new TimestreamIdentifier.Builder("cpu")
                    .addTag("Role", "OTSServer")
                    .build();
            TimestreamMetaTable metaTable = db.metaTable();
            // 同步删除时间线元数据
            metaTable.delete(identifier);