Tous les produits
Search
Centre de documentation

Tablestore:Update a table configuration

Dernière mise à jour :Aug 08, 2026

Mettez à jour les configurations de table, telles que le TTL, le nombre maximal de versions, les paramètres Stream et le débit réservé, à l'aide du SDK Tablestore pour Go.

Prérequis

Initialiser un client Tablestore

Description de la méthode

func (tableStoreClient *TableStoreClient) UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)

Paramètres UpdateTableRequest

  • TableName (obligatoire) string : nom de la table de données.

  • TableOption (facultatif) *TableOption : informations de configuration de la table, qui incluent les paramètres suivants.

    Parameter

    Type

    Description

    TimeToAlive (obligatoire)

    int

    Durée de vie (TTL) des données dans la table. Unité : secondes.

    • Une valeur de -1 signifie que les données n'expirent jamais. Sinon, la valeur minimale est de 86400 (1 jour). Les données dont la durée de vie dépasse le TTL sont automatiquement purgées.

    • Pour utiliser les fonctionnalités d'index de recherche ou d'index secondaire, définissez le TTL sur -1 ou définissez le paramètre AllowUpdate sur false.

    MaxVersion (obligatoire)

    int

    Nombre maximal de versions.

    • Pour utiliser les fonctionnalités d'index de recherche ou d'index secondaire, définissez le nombre maximal de versions sur 1.

    DeviationCellVersionInSec (facultatif)

    int64

    Décalage maximal de version. Unité : secondes.

    • La différence entre l'horodatage des données écrites et l'heure système actuelle doit se situer dans la plage de décalage maximal de version. Sinon, l'écriture des données échoue.

    • La plage de versions valide pour les données de colonne d'attribut est [max(data write time - valid version offset, data write time - TTL), data write time + valid version offset).

    AllowUpdate (facultatif)

    *bool

    Indique si les mises à jour de données sont autorisées.

    • Lorsqu'elle est définie sur false, les données ne peuvent pas être mises à jour via la méthode UpdateRow().

  • StreamSpec (facultatif) *StreamSpecification : informations de configuration Stream, qui incluent les paramètres suivants.

    Parameter

    Type

    Description

    EnableStream (obligatoire)

    bool

    Indique s'il faut activer Stream. Valeur par défaut : false.

    Important

    Si EnableStream est défini sur true, vous devez également définir ExpirationTime.

    ExpirationTime (facultatif)

    int32

    Délai d'expiration du Stream, qui indique la durée de conservation des journaux incrémentiels. Unité : heures. Valeur maximale : 168 (7 jours).

    Important

    Lorsque vous modifiez le paramètre ExpirationTime, vous devez également définir EnableStream sur true. Sinon, le canal de données existant devient indisponible et affecte la synchronisation des données pour l'index de recherche de la table.

  • ReservedThroughput (facultatif) *ReservedThroughput : Débit de lecture et d'écriture réservé, en CU. Valeur par défaut : 0. Seules les instances haute performance en mode CU peuvent être configurées avec des valeurs non nulles.

Remarque
  • Lors de l'appel de la méthode UpdateTable(), définissez au moins l'un des paramètres TableOption, StreamSpec ou ReservedThroughput.

  • Lors de la définition de TableOption, spécifiez les paramètres TimeToAlive et MaxVersion.

Exemple de code

L'exemple de code suivant modifie les configurations de la table test_table.

func UpdateTableSample(client *tablestore.TableStoreClient) {
    updateTableReq := new(tablestore.UpdateTableRequest)
    updateTableReq.TableName = "test_table"
    
    // Table configuration.
    updateTableReq.TableOption = new(tablestore.TableOption)
    // Set the time to live (TTL), in seconds.
    updateTableReq.TableOption.TimeToAlive = 86400
    // Set the maximum number of versions.
    updateTableReq.TableOption.MaxVersion = 3
    // Set the maximum version offset, in seconds.
    updateTableReq.TableOption.DeviationCellVersionInSec = 86400
    // Specify whether to allow data updates.
    updateTableReq.TableOption.AllowUpdate = proto.Bool(false)

    // Enable Stream and set the Stream expiration time to 7 days.
    // When you modify the ExpirationTime parameter, you must also set EnableStream to true.
    updateTableReq.StreamSpec = new(tablestore.StreamSpecification)
    updateTableReq.StreamSpec.EnableStream = true
    updateTableReq.StreamSpec.ExpirationTime = 168
    
    // Set the reserved read throughput to 0 CU and the reserved write throughput to 0 CU. 
    // Non-zero throughput is applicable only to high-performance instances in CU mode.
    updateTableReq.ReservedThroughput = new(tablestore.ReservedThroughput)
    updateTableReq.ReservedThroughput.Readcap = 0
    updateTableReq.ReservedThroughput.Writecap = 0

    // Call the UpdateTable method to update the table configuration.
    _, err := client.UpdateTable(updateTableReq)
    if (err != nil) {
        fmt.Println("Failed to update table with error:", err)
    } else {
        fmt.Println("Update table finished.")
    }
}

Références

Mettre à jour une table de séries temporelles