Utilisez le SDK Tablestore pour Java pour écrire une ou plusieurs lignes de données de séries temporelles et récupérer les informations d'erreur des lignes en échec.
Prérequis
Installez le SDK Tablestore pour Java et initialisez un client de séries temporelles.
Description
Appelez la méthode putTimeseriesData pour écrire une ou plusieurs lignes de données dans une table de séries temporelles. Chaque ligne comprend des identifiants de série temporelle, un horodatage de point de données et des champs de données. La réponse indique les lignes dont l'écriture a échoué ainsi que les erreurs associées.
public PutTimeseriesDataResponse putTimeseriesData(PutTimeseriesDataRequest request) throws TableStoreException, ClientException
L'exemple suivant écrit trois points de données pour la même série temporelle dans la table example_timeseries_table et vérifie le résultat de chaque ligne.
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());
}
Paramètres
La requête PutTimeseriesDataRequest contient les paramètres suivants.
|
Nom |
Type |
Description |
|
timeseriesTableName (obligatoire) |
|
Nom de la table de séries temporelles. |
|
rows (obligatoire) |
|
Lignes de données de séries temporelles à écrire. |
|
metaUpdateMode (facultatif) |
|
Mode de mise à jour des métadonnées de la série temporelle. Valeur par défaut : |
Lignes de données de séries temporelles
Chaque élément du tableau rows[] est de type TimeseriesRow et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
timeseriesKey (obligatoire) |
|
Identifiants de la série temporelle. |
|
timeInUs (obligatoire) |
|
Horodatage du point de données en microsecondes depuis le 1er janvier 1970 à 00:00:00 UTC. La valeur doit être supérieure ou égale à |
|
fields (obligatoire) |
|
Champs de données, composés d'un ou plusieurs noms de champ et valeurs de champ. |
Identifiants de série temporelle
Le paramètre rows[].timeseriesKey est de type TimeseriesKey et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
measurementName (obligatoire) |
|
Nom de la mesure. À partir de la version 5.17.2 du SDK Tablestore pour Java, ce paramètre peut être vide. |
|
dataSource (facultatif) |
|
Identifiant de la source de données. Ce paramètre peut être vide. |
|
tags (facultatif) |
|
Tags sous forme de paires clé-valeur de type chaîne. Une mappe vide est utilisée si ce paramètre n'est pas spécifié. |
Réponse
La réponse PutTimeseriesDataResponse contient le champ spécifique à l'opération suivant.
|
Champ |
Type |
Description |
|
|
|
Appelez la méthode |
Informations sur les lignes ayant échoué
Chaque élément du tableau failedRows[] est de type PutTimeseriesDataResponse.FailedRowResult et contient les champs suivants.
|
Champ |
Type |
Description |
|
|
|
Appelez la méthode |
|
|
|
Appelez la méthode |