すべてのプロダクト
Search
ドキュメントセンター

Tablestore:時系列の更新

最終更新日:Apr 26, 2025

UpdateTimeseriesMeta 操作を呼び出して、複数の時系列のメタデータを同時に更新できます。更新する時系列メタデータが存在しない場合は、時系列メタデータが追加されます。

前提条件

クライアントが初期化されていること。詳細については、「Tablestore クライアントを初期化する」をご参照ください。

操作

public class UpdateTimeseriesMetaRequest implements Request {
    // 時系列テーブルの名前。
    private final String timeseriesTableName;
    // 時系列のメタデータ。
    private List<TimeseriesMeta> metas = new ArrayList<TimeseriesMeta>();
}

public class TimeseriesMeta {
    // 時系列メタデータの識別子。
    private TimeseriesKey timeseriesKey;
    // 時系列メタデータの属性。
    private SortedMap<String, String> attributes = new TreeMap<String, String>();
    // 時系列メタデータの生存時間 (TTL)。
    private long updateTimeInUs = -1;
}

public class TimeseriesKey implements Comparable<TimeseriesKey> {
    // メトリックの名前。
    private final String measurementName;
    // データソースの名前。
    private final String dataSource;
    // タグ情報。
    private final SortedMap<String, String> tags = new TreeMap<String, String>();
    private String tagsString;
}

パラメーター

timeseriesMeta パラメーターは、時系列のメタデータを指定します。各 timeseriesMeta パラメーターは、timeseriesKey パラメーターと attributes パラメーターで構成されます。次の表に、パラメーターを示します。

パラメーター

説明

timeseriesKey

時系列の識別子。

attributes

時系列の属性。値は、String 型の 1 つ以上のキーと値のペアで構成されます。

次のサンプルコードは、時系列テーブルの時系列メタデータの属性を更新する方法の例を示しています。

private static void updateTimeseriesMeta(TimeseriesClient client) {
    List<TimeseriesMeta> timeseriesMetaList = new ArrayList<TimeseriesMeta>();
    for (int i = 0; i < 10; i++) {
        Map<String, String> tags = new HashMap<String, String>();
        tags.put("region", "hangzhou");
        tags.put("os", "Ubuntu16.04");
        // 時系列識別子を構築します。
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
        // 時系列のメタデータの属性を指定します。
        Map<String, String> attrs = new HashMap<String, String>();
        attrs.put("status", "online");
        meta.setAttributes(attrs);
        timeseriesMetaList.add(meta);
    }
    // 時系列テーブルの名前を指定します。
    String tableName = "<TIME_SERIES_TABLE>";
    UpdateTimeseriesMetaRequest updateTimeseriesMetaRequest = new UpdateTimeseriesMetaRequest(tableName);
    updateTimeseriesMetaRequest.setMetas(timeseriesMetaList);
    UpdateTimeseriesMetaResponse updateTimeseriesMetaResponse = client.updateTimeseriesMeta(updateTimeseriesMetaRequest);
    // 属性が更新されたかどうかを確認します。
    if (!updateTimeseriesMetaResponse.isAllSuccess()) {
        for (UpdateTimeseriesMetaResponse.FailedRowResult failedRowResult : updateTimeseriesMetaResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}

参照

時系列のメタデータで更新された属性を表示するには、時系列を取得します。詳細については、「時系列をクエリする」をご参照ください。