Todos os produtos
Search
Central de documentação

Tablestore:Gravar dados de séries temporais

Última atualização: Jul 03, 2026

Após criar uma tabela de séries temporais, chame a operação PutTimeseriesData para gravar várias linhas de dados na tabela simultaneamente.

Pré-requisitos

Parâmetros

Uma linha de dados de séries temporais (timeseriesRow) contém um identificador de série temporal (timeseriesKey) e os dados da série. Esses dados incluem pontos de dados (fields) e o timestamp (timeInUs) correspondente. A tabela a seguir descreve os parâmetros.

Parâmetro

Descrição

timeseriesKey

Identificador da série temporal. Inclui os seguintes parâmetros:

  • measurementName: nome da medição da série temporal. Este parâmetro pode ser deixado vazio.

  • dataSource: origem dos dados da série temporal. Este parâmetro pode ser deixado vazio.

  • tags: tags da série temporal. São pares chave-valor do tipo STRING.

timeInUs

Timestamp do ponto de dados. Unidade: microssegundos.

fields

Pontos de dados compostos por vários pares de nomes (FieldKey) e valores (FieldValue).

Exemplos

O exemplo de código a seguir mostra como gravar várias linhas de dados em uma tabela de séries temporais chamada test_timeseries_table:

private static void putTimeseriesData(TimeseriesClient client) {
    List<TimeseriesRow> rows = new ArrayList<TimeseriesRow>();
    for (int i = 0; i < 10; i++) {
        Map<String, String> tags = new HashMap<String, String>();
        tags.put("region", "hangzhou");
        tags.put("os", "Ubuntu16.04");
        // Specify the measurement name, data source, and tags of a time series to construct the identifiers of the time series. 
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        // Specify the timeseriesKey and timeInUs parameters to create a row of time series data. 
        TimeseriesRow row = new TimeseriesRow(timeseriesKey, System.currentTimeMillis() * 1000 + i);
        // Add data values. 
        row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
        row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
        rows.add(row);
    }
    String tableName = "test_timeseries_table";
    PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
    putTimeseriesDataRequest.setRows(rows);
    // Write multiple rows of time series data at the same time. 
    PutTimeseriesDataResponse putTimeseriesDataResponse = client.putTimeseriesData(putTimeseriesDataRequest);
    // Check whether all data is written to the time series table. 
    if (!putTimeseriesDataResponse.isAllSuccess()) {
        for (PutTimeseriesDataResponse.FailedRowResult failedRowResult : putTimeseriesDataResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}