Use a operação UpdateTimeseriesMeta para atualizar simultaneamente os metadados de várias séries temporais. Se os metadados da série temporal que você deseja atualizar não existirem, eles serão adicionados automaticamente.
Pré-requisitos
Inicialize um cliente. Para mais informações, consulte Inicializar um cliente do Tablestore.
Operação
public class UpdateTimeseriesMetaRequest implements Request {
/** The name of the time series table. */
private final String timeseriesTableName;
/** The metadata of the time series. */
private List<TimeseriesMeta> metas = new ArrayList<TimeseriesMeta>();
}
public class TimeseriesMeta {
/** The identifiers of the time series metadata. */
private TimeseriesKey timeseriesKey;
/** The attributes of the time series metadata. */
private SortedMap<String, String> attributes = new TreeMap<String, String>();
/** The time to live (TTL) of the time series metadata. */
private long updateTimeInUs = -1;
}
public class TimeseriesKey implements Comparable<TimeseriesKey> {
/** The name of the metric. */
private final String measurementName;
/** The name of the data source. */
private final String dataSource;
/** The tag information. */
private final SortedMap<String, String> tags = new TreeMap<String, String>();
private String tagsString;
}
Parâmetros
O parâmetro timeseriesMeta especifica os metadados de uma série temporal e é composto pelos parâmetros timeseriesKey e attributes. A tabela a seguir descreve esses parâmetros.
|
Parâmetro |
Descrição |
|
timeseriesKey |
Identificadores da série temporal. |
|
attributes |
Atributos da série temporal. O valor consiste em um ou mais pares chave-valor do tipo String. |
Exemplo
O exemplo a seguir mostra como atualizar os atributos nos metadados das séries temporais em uma tabela de séries temporais:
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");
// Construct time series identifiers.
TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
// Specify the attributes in the metadata of the time series.
Map<String, String> attrs = new HashMap<String, String>();
attrs.put("status", "online");
meta.setAttributes(attrs);
timeseriesMetaList.add(meta);
}
// Specify the name of the time series table.
String tableName = "<TIME_SERIES_TABLE>";
UpdateTimeseriesMetaRequest updateTimeseriesMetaRequest = new UpdateTimeseriesMetaRequest(tableName);
updateTimeseriesMetaRequest.setMetas(timeseriesMetaList);
UpdateTimeseriesMetaResponse updateTimeseriesMetaResponse = client.updateTimeseriesMeta(updateTimeseriesMetaRequest);
// Check whether the attributes are updated.
if (!updateTimeseriesMetaResponse.isAllSuccess()) {
for (UpdateTimeseriesMetaResponse.FailedRowResult failedRowResult : updateTimeseriesMetaResponse.getFailedRows()) {
System.out.println(failedRowResult.getIndex());
System.out.println(failedRowResult.getError());
}
}
}
Referências
Para visualizar os atributos atualizados nos metadados das séries temporais, recupere as séries temporais. Para mais informações, consulte Consultar séries temporais.