Appelez l'opération CreateTimeseriesTable pour créer une table de séries temporelles. Lors de la création, spécifiez la durée de vie (TTL) des données, la configuration des métadonnées de série temporelle, ainsi que les identifiants de série temporelle personnalisés et les champs de données personnalisés qui serviront de colonnes de clé primaire. Vous pouvez également créer un index Lastpoint et un magasin analytique. Le magasin analytique permet d'analyser rapidement les données de séries temporelles, tandis que l'index Lastpoint facilite la récupération rapide des données correspondant au dernier point temporel des séries contenues dans la table.
Prérequis
-
Une instance pour le modèle TimeSeries est créée. Pour plus d'informations, consultez la rubrique Créer une instance pour le modèle TimeSeries.
ImportantPour utiliser les fonctionnalités de magasin analytique ou d'index Lastpoint, vous devez créer une instance pour le modèle TimeSeries dans une région qui prend en charge ces fonctionnalités.
Un client est initialisé. Pour plus d'informations, consultez la rubrique Initialiser un client Tablestore.
Notes d'utilisation
-
Le nom de la table de séries temporelles ne doit pas être identique à celui d'une table de données existante.
RemarqueAppelez l'opération ListTimeseriesTable pour interroger les noms des tables de séries temporelles présentes dans une instance. Pour plus d'informations, consultez la rubrique Lister les tables de séries temporelles.
Vous ne pouvez créer qu'un seul magasin analytique par table de séries temporelles.
Le nombre total d'index Lastpoint et de magasins analytiques créés pour une table de séries temporelles ne peut pas dépasser 10.
Vous pouvez spécifier jusqu'à quatre champs de données comme colonnes de clé primaire d'une table de séries temporelles.
Vous pouvez spécifier jusqu'à six champs comme composants des identifiants de série temporelle personnalisés d'une table de séries temporelles.
Paramètres
|
Paramètre |
Description |
|
TimeseriesTableMeta |
Configuration de la table de séries temporelles, créée en appelant
|
|
EnableAnalyticalStore |
Indique s'il faut créer le magasin analytique par défaut, défini en appelant Après avoir créé un magasin analytique, utilisez-le pour stocker les données de séries temporelles à moindre coût, ainsi que pour interroger et analyser ces données. Pour plus d'informations, consultez la rubrique Magasin analytique. Si vous ne souhaitez pas créer de magasin analytique, définissez ce paramètre sur false. |
|
AnalyticalStores |
Configuration du magasin analytique, définie en appelant
|
|
LastpointIndexNames |
Noms des index Lastpoint à créer conjointement avec la table de séries temporelles, définis en appelant |
Exemples
Créer une table de séries temporelles sans magasin analytique
L'exemple de code suivant montre comment créer une table de séries temporelles :
/**
* CreateTimeseriesTableSample is used to create a time series table. timeseriesTableName is used to specify the name of the time series table and timeTolive is used to specify the TTL of the time series table.
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// Construct the configuration information of the time series table.
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// Construct the metadata information of the table.
// Specify the name of the time series table.
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// Specify the configuration information of the time series table.
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// Construct the request to create the time series table.
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// Specify that the default analytical store is not created.
createTimeseriesTableRequest.SetEnableAnalyticalStore(false)
// Call the client to create the time series table.
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
Créer une table de séries temporelles et un magasin analytique
Lors de la création d'une table de séries temporelles, vous pouvez créer le magasin analytique par défaut ou un magasin analytique personnalisé.
Créer une table de séries temporelles et le magasin analytique par défaut
L'exemple de code suivant montre comment créer simultanément une table de séries temporelles et le magasin analytique par défaut. Dans cet exemple, le nom du magasin analytique par défaut est fixé à default_analytical_store et les données qu'il contient n'expirent jamais.
/**
* CreateTimeseriesTableSample is used to create a time series table. timeseriesTableName is used to specify the name of the time series table and timeTolive is used to specify the TTL of the time series table.
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// Construct the configuration information of the time series table.
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// Construct the metadata information of the table.
// Specify the name of the time series table.
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// Specify the configuration information of the time series table.
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// Construct the request to create the time series table.
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// Call the client to create the time series table.
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
Créer une table de séries temporelles et un magasin analytique personnalisé
L'exemple de code suivant montre comment créer simultanément une table de séries temporelles et un magasin analytique personnalisé. Dans cet exemple, le nom du magasin analytique personnalisé est test_analytical_store et les données qu'il contient n'expirent jamais.
/**
* CreateTimeseriesTableSample is used to create a time series table. timeseriesTableName is used to specify the name of the time series table and timeTolive is used to specify the TTL of the time series table. In this example, an analytical store named test_analytical_store is created.
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string , timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: " , timeseriesTableName)
// Construct the configuration information of the time series table.
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
// Construct the metadata information of the table.
// Specify the name of the time series table.
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
// Specify the configuration information of the time series table.
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// Construct the request to create the time series table.
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
// Construct the configuration information of the analytical store.
createTimeseriesTableRequest.SetAnalyticalStores([]*tablestore.TimeseriesAnalyticalStore{
tablestore.NewTimeseriesAnalyticalStore("test_analytical_store"),
})
// Call the client to create the time series table.
createTimeseriesTableResponse , err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: " , err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: " , createTimeseriesTableResponse.RequestId)
}
Spécifier des identifiants de série temporelle personnalisés et des champs de données personnalisés comme colonnes de clé primaire d'une table de séries temporelles
La dernière version du SDK Tablestore pour Go vous permet de spécifier des identifiants de série temporelle personnalisés et des champs de données personnalisés comme colonnes de clé primaire d'une table de séries temporelles. Lorsque vous utilisez cette fonctionnalité, assurez-vous d'utiliser la version appropriée du SDK Tablestore pour Go.
L'exemple de code suivant montre comment créer une table de séries temporelles dont les identifiants de série temporelle sont composés de pk1 et pk2, et où les champs de données field1 (Integer), field2 (String) et field3 (Binary) sont spécifiés comme colonnes de clé primaire :
/**
* CreateTimeseriesTableSample is used to create a time series table. timeseriesTableName is used to specify the name of the time series table and timeTolive is used to specify the TTL of the time series table.
*/
func CreateTimeseriesTableSample(client *tablestore.TimeseriesClient, timeseriesTableName string, timeToLive int64) {
fmt.Println("[Info]: Begin to create timeseries table: ", timeseriesTableName)
timeseriesTableOptions := tablestore.NewTimeseriesTableOptions(timeToLive)
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta(timeseriesTableName)
timeseriesTableMeta.SetTimeseriesTableOptions(timeseriesTableOptions)
// Add custom time series identifiers.
timeseriesTableMeta.AddTimeseriesKey("pk1")
timeseriesTableMeta.AddTimeseriesKey("pk2")
// Add data fields that are specified as the primary key columns of the time series table.
timeseriesTableMeta.AddFieldPrimaryKey("field1", tablestore.PrimaryKeyType_INTEGER)
timeseriesTableMeta.AddFieldPrimaryKey("field1", tablestore.PrimaryKeyType_STRING)
timeseriesTableMeta.AddFieldPrimaryKey("field3", tablestore.PrimaryKeyType_BINARY)
// Construct the request to create the time series table.
createTimeseriesTableRequest := tablestore.NewCreateTimeseriesTableRequest()
createTimeseriesTableRequest.SetTimeseriesTableMeta(timeseriesTableMeta)
createTimeseriesTableResponse, err := client.CreateTimeseriesTable(createTimeseriesTableRequest)
if err != nil {
fmt.Println("[Error]: Failed to create timeseries table with error: ", err)
return
}
fmt.Println("[Info]: CreateTimeseriesTable finished! RequestId: ", createTimeseriesTableResponse.RequestId)
}
Créer une table de séries temporelles et un index Lastpoint
La dernière version du SDK Tablestore pour Go prend en charge la fonctionnalité d'index Lastpoint. Lorsque vous utilisez cette fonctionnalité, assurez-vous d'utiliser la version appropriée du SDK Tablestore pour Go.
L'exemple de code suivant montre comment créer simultanément une table de séries temporelles et un index Lastpoint nommé index1 pour cette table :
func createTimeseriesTable(client *tablestore.TimeseriesClient) {
timeseriesTableMeta := tablestore.NewTimeseriesTableMeta("test_timeseries_table")
timeseriesTableMeta.SetTimeseriesTableOptions(tablestore.NewTimeseriesTableOptions(-1))
request := tablestore.NewCreateTimeseriesTableRequest()
request.SetTimeseriesTableMeta(timeseriesTableMeta)
request.SetLastpointIndexNames([]string{"index1"})
_, err := client.CreateTimeseriesTable(request)
if err != nil {
log.Fatal(err)
}
}
Références
Une fois la table de séries temporelles créée, écrivez-y des données et lisez-les. Pour plus d'informations, consultez les rubriques Écrire des données de séries temporelles et Interroger des données de séries temporelles.
Pour stocker des données de séries temporelles à moindre coût et les interroger ou les analyser rapidement, créez un magasin analytique pour une table de séries temporelles. Pour plus d'informations, consultez la rubrique Créer un magasin analytique.
Modifiez la durée de vie (TTL) des données dans une table de séries temporelles. Pour plus d'informations, consultez la rubrique Mettre à jour une table de séries temporelles.
Interrogez toutes les tables de séries temporelles présentes sur l'instance actuelle. Pour plus d'informations, consultez la rubrique Interroger les noms des tables de séries temporelles.
Interrogez les informations relatives à une table de séries temporelles. Pour plus d'informations, consultez la rubrique Interroger les informations d'une table de séries temporelles.
Supprimez une table de séries temporelles dont vous n'avez plus besoin. Pour plus d'informations, consultez la rubrique Supprimer une table de séries temporelles à l'aide du SDK Go.
Pour sauvegarder les données de séries temporelles de Tablestore de manière économique ou exporter ces données sous forme de fichiers vers des appareils locaux, utilisez la fonctionnalité Data Integration de DataWorks afin de synchroniser les données de Tablestore vers Object Storage Service (OSS) pour le stockage ou le téléchargement. Pour plus d'informations, consultez la rubrique Synchroniser les données de Tablestore vers OSS.
Pour visualiser les données de séries temporelles, connectez Tablestore à Grafana. Pour plus d'informations, consultez la rubrique Se connecter à Grafana.
Si vous utilisez Realtime Compute for Apache Flink pour calculer et analyser des données, utilisez les tables de séries temporelles de Tablestore pour stocker les résultats. Pour plus d'informations, consultez la rubrique Tutoriel (modèle TimeSeries).