Use o Tablestore SDK for Java para gravar uma ou mais linhas de dados de séries temporais e obter informações de erro das linhas com falha.
Pré-requisitos
Instale o Tablestore SDK for Java e inicialize um cliente de séries temporais.
Descrição
Chame putTimeseriesData para gravar uma ou mais linhas de dados em uma tabela de séries temporais. Cada linha consiste em identificadores de série temporal, timestamp do ponto de dados e campos de dados. A resposta contém as linhas cuja gravação falhou e as respectivas informações de erro.
public PutTimeseriesDataResponse putTimeseriesData(PutTimeseriesDataRequest request) throws TableStoreException, ClientException
O exemplo a seguir grava três pontos de dados da mesma série temporal em example_timeseries_table e verifica o resultado de cada linha.
TimeseriesClient timeseriesClient = client.asTimeseriesClient();
String tableName = "example_timeseries_table";
List<TimeseriesRow> rows = new ArrayList<>();
Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "source_0", tags);
long baseTimeInUs = System.currentTimeMillis() * 1000L;
for (int i = 0; i < 3; i++) {
TimeseriesRow row = new TimeseriesRow(timeseriesKey, baseTimeInUs + i * 1000L);
row.addField("cpu_usage", ColumnValue.fromDouble(10.0 + i));
row.addField("status", ColumnValue.fromString("ok"));
rows.add(row);
}
PutTimeseriesDataRequest request = new PutTimeseriesDataRequest(tableName);
request.setRows(rows);
PutTimeseriesDataResponse response = timeseriesClient.putTimeseriesData(request);
for (PutTimeseriesDataResponse.FailedRowResult result : response.getFailedRows()) {
System.out.println(result.getIndex());
System.out.println(result.getError());
}
Parâmetros
PutTimeseriesDataRequest contém os seguintes parâmetros:
|
Nome |
Tipo |
Descrição |
|
timeseriesTableName (obrigatório) |
|
Nome da tabela de séries temporais. |
|
rows (obrigatório) |
|
Linhas de dados de séries temporais a gravar. |
|
metaUpdateMode (opcional) |
|
Modo de atualização de metadados da série temporal. Padrão: |
Linhas de dados de séries temporais
Cada elemento em rows[] é do tipo TimeseriesRow e contém os seguintes parâmetros:
|
Nome |
Tipo |
Descrição |
|
timeseriesKey (obrigatório) |
|
Identificadores da série temporal. |
|
timeInUs (obrigatório) |
|
Timestamp do ponto de dados em microssegundos desde 1970-01-01 00:00:00 UTC. O valor deve ser maior ou igual a |
|
fields (obrigatório) |
|
Campos de dados, compostos por um ou mais nomes e valores de campo. |
Identificadores de séries temporais
rows[].timeseriesKey é do tipo TimeseriesKey e contém os seguintes parâmetros:
|
Nome |
Tipo |
Descrição |
|
measurementName (obrigatório) |
|
Nome da medição. O Tablestore SDK for Java 5.17.2 ou posterior permite que este parâmetro esteja vazio. |
|
dataSource (opcional) |
|
Identificador da fonte de dados. Este parâmetro pode estar vazio. |
|
tags (opcional) |
|
Tags como pares chave-valor do tipo string. Um mapa vazio será usado caso este parâmetro não seja especificado. |
Resposta
PutTimeseriesDataResponse contém o seguinte campo específico da operação:
|
Campo |
Tipo |
Descrição |
|
|
|
Chame |
Informações de linhas com falha
Cada elemento em failedRows[] é do tipo PutTimeseriesDataResponse.FailedRowResult e contém os seguintes campos:
|
Campo |
Tipo |
Descrição |
|
|
|
Chame |
|
|
|
Chame |