Tous les produits
Search
Centre de documentation

Tablestore:Create a time series table

Dernière mise à jour :Aug 18, 2026

Créez une table de séries temporelles et configurez la durée de conservation (TTL) des données et des métadonnées, les identifiants de série temporelle, les clés primaires des champs de données, les magasins analytiques ainsi que les index Lastpoint à l'aide du SDK Tablestore pour Java.

Prérequis

Installez le SDK Tablestore pour Java et initialisez un client de séries temporelles.

Description

Appelez la méthode createTimeseriesTable pour créer une table de séries temporelles destinée au stockage des données et des métadonnées de séries temporelles. Le nom de la table de séries temporelles doit être unique parmi toutes les tables de données et les tables de séries temporelles de l'instance.

public CreateTimeseriesTableResponse createTimeseriesTable(CreateTimeseriesTableRequest request)

L'exemple suivant crée la table example_timeseries_table. Par défaut, la durée de conservation (TTL) des données de séries temporelles est définie sur -1, ce qui signifie que les données n'expirent jamais, et aucun magasin analytique n'est créé.

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

timeseriesClient.createTimeseriesTable(request);

Paramètres

L'objet CreateTimeseriesTableRequest contient les paramètres suivants.

Nom

Type

Description

timeseriesTableMeta (obligatoire)

TimeseriesTableMeta

Le schéma de la table de séries temporelles.

analyticalStores (facultatif)

List<TimeseriesAnalyticalStore>

Les magasins analytiques personnalisés. Valeur par défaut : une liste vide. Vous pouvez créer au maximum un magasin analytique lors de la création d'une table de séries temporelles.

enableAnalyticalStore (facultatif)

boolean

Indique s'il faut créer le magasin analytique par défaut. Valeur par défaut : false. Si le paramètre analyticalStores n'est pas configuré et que ce paramètre est défini sur true, un magasin analytique nommé default_analytical_store est créé. Sa durée de conservation (TTL) par défaut est -1 et son mode de synchronisation est SYNC_TYPE_FULL. Si le paramètre analyticalStores est configuré, un magasin analytique personnalisé est créé.

lastpointIndexes (facultatif)

List<CreateTimeseriesTableRequest.LastpointIndex>

Les index Lastpoint à créer conjointement avec la table de séries temporelles. Valeur par défaut : une liste vide. Vous pouvez créer au maximum un index Lastpoint lors de la création d'une table de séries temporelles. Une table de séries temporelles peut comporter au total 10 index Lastpoint et magasins analytiques.

Schéma de la table de séries temporelles

Le paramètre timeseriesTableMeta est de type TimeseriesTableMeta et contient les paramètres suivants.

Nom

Type

Description

timeseriesTableName (obligatoire)

String

Le nom de la table de séries temporelles. Il doit être unique parmi toutes les tables de données et les tables de séries temporelles de l'instance.

timeseriesTableOptions (facultatif)

TimeseriesTableOptions

Les paramètres de durée de conservation (TTL) des données de séries temporelles. Les paramètres par défaut sont utilisés si ce paramètre n'est pas configuré.

timeseriesMetaOptions (facultatif)

TimeseriesMetaOptions

Les paramètres des métadonnées de séries temporelles, y compris la durée de conservation des métadonnées et les paramètres de mise à jour des attributs.

timeseriesKeys (facultatif)

List<String>

Les champs constituant un identifiant de série temporelle personnalisé. Vous pouvez spécifier jusqu'à six champs. Par défaut, un identifiant de série temporelle se compose du nom de la métrique, de la source de données et des tags. Pour plus d'informations, consultez la rubrique Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données.

fieldPrimaryKeys (facultatif)

List<PrimaryKeySchema>

Les champs de données à utiliser comme clés primaires. Vous pouvez spécifier jusqu'à quatre champs pour stocker plusieurs lignes partageant le même identifiant de série temporelle et le même horodatage. Pour plus d'informations, consultez la rubrique Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données.

Rétention des données de séries temporelles

Le paramètre timeseriesTableMeta.timeseriesTableOptions est de type TimeseriesTableOptions et contient le paramètre suivant.

Nom

Type

Description

timeToLive (facultatif)

int

La durée de conservation (TTL) des données de séries temporelles, exprimée en secondes. Valeur par défaut : -1. Définissez la valeur sur -1 ou sur un entier supérieur ou égal à 86 400. Une valeur de -1 signifie que les données n'expirent jamais. Tablestore supprime automatiquement les données expirées. Après la création de la table, vous pouvez mettre à jour les configurations de la table de séries temporelles pour modifier la durée de conservation.

Métadonnées de séries temporelles

Le paramètre timeseriesTableMeta.timeseriesMetaOptions est de type TimeseriesMetaOptions et contient les paramètres suivants.

Nom

Type

Description

metaTimeToLive (facultatif)

int

La durée de conservation (TTL) des métadonnées de séries temporelles, exprimée en secondes. Définissez la valeur sur -1 ou sur un entier supérieur ou égal à 604 800. Une valeur de -1 signifie que les métadonnées n'expirent jamais. La valeur ne peut pas être inférieure à celle du paramètre timeToLive. Si la valeur de timeToLive est -1, ce paramètre doit également être défini sur -1. Si vous configurez une durée de conservation finie, définissez le paramètre allowUpdateAttributes sur false.

allowUpdateAttributes (facultatif)

boolean

Indique si les colonnes d'attributs de métadonnées peuvent être mises à jour. Si la valeur de metaTimeToLive est finie, ce paramètre doit être défini sur false.

Clés primaires des champs de données

Chaque élément du tableau timeseriesTableMeta.fieldPrimaryKeys[] est de type PrimaryKeySchema et contient les paramètres suivants.

Nom

Type

Description

name (obligatoire)

String

Le nom du champ de données à utiliser comme clé primaire.

type (obligatoire)

PrimaryKeyType

Le type du champ de données. Valeurs valides : INTEGER et STRING.

Magasin analytique

Chaque élément du tableau analyticalStores[] est de type TimeseriesAnalyticalStore et contient les paramètres suivants.

Nom

Type

Description

analyticalStoreName (obligatoire)

String

Le nom du magasin analytique.

timeToLive (facultatif)

int

La durée de conservation (TTL) du magasin analytique, exprimée en secondes. Valeur par défaut : -1. Définissez la valeur sur -1 ou sur un entier int32 supérieur ou égal à 2 592 000. Une valeur de -1 signifie que les données n'expirent jamais.

syncOption (facultatif)

AnalyticalStoreSyncType

Le mode de synchronisation des données. Valeur par défaut : SYNC_TYPE_FULL. Lors de la création d'une table de séries temporelles, seul le mode SYNC_TYPE_FULL, qui spécifie une synchronisation complète, est pris en charge.

Index Lastpoint

Chaque élément du tableau lastpointIndexes[] est de type CreateTimeseriesTableRequest.LastpointIndex et contient le paramètre suivant.

Nom

Type

Description

indexName (obligatoire)

String

Le nom de l'index Lastpoint. Pour plus d'informations, consultez la rubrique Index Lastpoint.

Exemples

Configurer la durée de conservation des métadonnées

L'exemple suivant définit la durée de conservation des données de séries temporelles sur 7 jours, celle des métadonnées sur 14 jours et désactive les mises à jour des attributs de métadonnées.

String tableName = "example_timeseries_table";
TimeseriesTableOptions tableOptions = new TimeseriesTableOptions(604800);
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName, tableOptions);

TimeseriesMetaOptions metaOptions = new TimeseriesMetaOptions();
metaOptions.setMetaTimeToLive(1209600);
metaOptions.setAllowUpdateAttributes(false);
tableMeta.setTimeseriesMetaOptions(metaOptions);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

Personnaliser les identifiants de séries temporelles et les clés primaires des champs de données

Important

Les identifiants de séries temporelles personnalisés et les clés primaires des champs de données nécessitent le SDK Tablestore pour Java version 5.17.1 ou ultérieure. Nous vous recommandons d'utiliser la dernière version du SDK. Avant d'utiliser ces fonctionnalités, assurez-vous que la région de l'instance les prend en charge.

L'exemple suivant utilise pk1 et pk2 comme identifiants de série temporelle, et field1 et field2 comme clés primaires des champs de données.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
tableMeta.addTimeseriesKey("pk1");
tableMeta.addTimeseriesKey("pk2");
tableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
tableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

Créer un index Lastpoint

Important

Les index Lastpoint nécessitent le SDK Tablestore pour Java version 5.17.1 ou ultérieure. Nous vous recommandons d'utiliser la dernière version du SDK. Pour utiliser cette fonctionnalité, créez une instance de modèle de séries temporelles dans une région prise en charge. Pour connaître les régions prises en charge, consultez la rubrique Index Lastpoint.

L'exemple suivant crée l'index example_lastpoint_index conjointement avec la table de séries temporelles.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.addLastpointIndex(
        new CreateTimeseriesTableRequest.LastpointIndex("example_lastpoint_index"));

timeseriesClient.createTimeseriesTable(request);

Créer un magasin analytique

Un magasin analytique offre un stockage et une analyse économiques pour les données de séries temporelles. Pour utiliser cette fonctionnalité, créez une instance de modèle de séries temporelles dans une région prise en charge. Pour plus d'informations sur les régions prises en charge et les détails de la fonctionnalité, consultez la rubrique Magasin analytique.

Magasin analytique par défaut

Définissez le paramètre enableAnalyticalStore sur true pour créer le magasin analytique par défaut nommé default_analytical_store.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.setEnableAnalyticalStore(true);

timeseriesClient.createTimeseriesTable(request);

Magasin analytique personnalisé

L'exemple suivant crée le magasin example_analytical_store conjointement avec la table de séries temporelles. Les données du magasin analytique n'expirent jamais et la synchronisation complète est utilisée.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

TimeseriesAnalyticalStore analyticalStore =
        new TimeseriesAnalyticalStore("example_analytical_store");
analyticalStore.setTimeToLive(-1);
analyticalStore.setSyncOption(AnalyticalStoreSyncType.SYNC_TYPE_FULL);
request.setAnalyticalStores(Collections.singletonList(analyticalStore));

timeseriesClient.createTimeseriesTable(request);

Références