Tous les produits
Search
Centre de documentation

Tablestore:Update the configurations of a table

Dernière mise à jour :Aug 18, 2026

Cette rubrique explique comment mettre à jour la configuration d'une table à l'aide du SDK Tablestore pour .NET.

Prérequis

Le client est initialisé. Pour plus d'informations, consultez la rubrique Initialiser un client Tablestore.

Description de la méthode

public UpdateTableResponse UpdateTable(UpdateTableRequest request)

Méthode asynchrone :

public Task<UpdateTableResponse> UpdateTableAsync(UpdateTableRequest request)

Paramètres UpdateTableRequest

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

  • TableOptions (facultatif) TableOptions : configuration de la table, comprenant les paramètres suivants.

    Parameter

    Type

    Description

    TimeToLive (facultatif)

    int

    Durée de conservation (TTL) des données dans la table de données, exprimée en secondes. La valeur par défaut est -1.

    • Si vous définissez ce paramètre sur -1, les données n'expirent jamais. Sinon, la valeur minimale est 86400 (un jour). Les données dont la période de rétention dépasse la TTL sont automatiquement supprimées.

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

    MaxVersions (facultatif)

    int

    Nombre maximal de versions. La valeur par défaut est 1.

    • Pour utiliser les fonctionnalités d'index de recherche ou d'index secondaire, vous devez définir ce paramètre sur 1.

    DeviationCellVersionInSec (facultatif)

    long

    Décalage maximal de version en secondes.

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

    • La plage de versions valides pour les données de colonne d'attribut est [max(Data written time - Maximum version offset, Data written time - TTL), Data written time + Maximum version offset).

    AllowUpdate (facultatif)

    bool

    Indique si les mises à jour sont autorisées.

    • Si vous définissez ce paramètre sur false, vous ne pouvez pas mettre à jour les données à l'aide de la méthode UpdateRow().

  • StreamSpecification (facultatif) StreamSpecification : configuration Stream, comprenant les paramètres suivants.

    Parameter

    Type

    Note

    EnableStream (obligatoire)

    bool

    Indique s'il faut activer Stream.

    ExpirationTime (facultatif)

    int

    Délai d'expiration Stream, qui représente la durée de conservation des journaux incrémentiels. L'unité est l'heure. La valeur maximale est 168 (sept jours).

    • Lorsque EnableStream est défini sur true, vous devez spécifier ExpirationTime.

  • ReservedThroughput (facultatif) CapacityUnit : débit réservé en lecture et en écriture, en CU. Vous pouvez définir ce paramètre sur une valeur non nulle ; le paramètre prend effet uniquement pour les tables de données dans les instances haute performance en mode CU.

Remarque

Lorsque vous appelez la méthode UpdateTable(), vous devez spécifier au moins l'un des paramètres suivants : TableOptions, StreamSpecification ou ReservedThroughput.

Exemple de code

try
{
    UpdateTableRequest request = new UpdateTableRequest("test_table");

    // Table configuration information.
    TableOptions tableOptions = new TableOptions();
    // Specify the TTL in seconds.
    tableOptions.TimeToLive = 86400;
    // Specify the maximum number of versions.
    tableOptions.MaxVersions = 3;
    // Specify the maximum version offset in seconds.
    tableOptions.DeviationCellVersionInSec = 86400;
    // Specify whether updates are allowed.
    tableOptions.AllowUpdate = false;
    request.TableOptions = tableOptions;

    // Enable Stream and set the Stream validity period to seven days.
    StreamSpecification streamSpecification = new StreamSpecification(true);
    streamSpecification.ExpirationTime = 168;
    request.StreamSpecification = streamSpecification;

    // Set reserved read throughput to 0 CU and reserved write throughput to 0 CU (you can set this parameter to a non-zero value and the setting takes effect only for data tables in high-performance instances in CU mode).
    CapacityUnit reservedThroughput = new CapacityUnit(0, 0);
    request.ReservedThroughput = reservedThroughput;

    // Call the UpdateTable method to modify the table configurations.
    client.UpdateTable(request);
    Console.WriteLine("Update table succeeded.");
}
catch (Exception ex)
{
    Console.WriteLine($"Update table failed, exception:{ex.Message}");
}