Tous les produits
Search
Centre de documentation

Tablestore:Write time series data

Dernière mise à jour :Aug 08, 2026

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)

String

Nom de la table de séries temporelles.

rows (obligatoire)

List<TimeseriesRow>

Lignes de données de séries temporelles à écrire.

metaUpdateMode (facultatif)

PutTimeseriesDataRequest.MetaUpdateMode

Mode de mise à jour des métadonnées de la série temporelle. Valeur par défaut : NORMAL. Le serveur décide alors s'il met à jour l'index des métadonnées de la série temporelle. Si ce paramètre est défini sur IGNORE, l'écriture actuelle ne met pas à jour l'index des métadonnées. Cela peut affecter les requêtes portant sur les métadonnées des séries temporelles ainsi que les requêtes SQL.

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)

TimeseriesKey

Identifiants de la série temporelle.

timeInUs (obligatoire)

long

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 à 0.

fields (obligatoire)

SortedMap<String, ColumnValue>

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)

String

Nom de la mesure. À partir de la version 5.17.2 du SDK Tablestore pour Java, ce paramètre peut être vide.

dataSource (facultatif)

String

Identifiant de la source de données. Ce paramètre peut être vide.

tags (facultatif)

SortedMap<String, String>

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

failedRows

List<PutTimeseriesDataResponse.FailedRowResult>

Appelez la méthode getFailedRows() pour obtenir les lignes dont l'écriture a échoué. Une liste vide est renvoyée si toutes les lignes ont été écrites avec succès. Vous pouvez également appeler la méthode isAllSuccess() pour vérifier si toutes les lignes ont été écrites.

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

index

int

Appelez la méthode getIndex() pour obtenir l'index de la ligne en échec dans la liste rows de la requête.

error

Error

Appelez la méthode getError() pour obtenir la raison de l'échec.