Utilisez le SDK Tablestore pour Java pour mettre à jour le cycle de vie des données, le nombre maximal de versions, l'écart maximal de version, les autorisations de mise à jour, ainsi que les paramètres Stream et de débit réservé d'une table du modèle Wide Column.
Prérequis
Installez le SDK Tablestore pour Java et initialisez le client.
Description de la fonction
Appelez la méthode updateTable pour mettre à jour les options de table, les paramètres Stream ou le débit réservé d'une table. Chaque requête doit spécifier au moins un groupe de configurations. Si vous mettez à jour TableOptions, spécifiez au moins une option de table.
public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException
L'exemple de code suivant met à jour le cycle de vie des données, le nombre maximal de versions, l'écart maximal de version et les autorisations de mise à jour de la table example_table.
UpdateTableRequest request = new UpdateTableRequest("example_table");
TableOptions tableOptions = new TableOptions();
tableOptions.setTimeToLive(86400);
tableOptions.setMaxVersions(3);
tableOptions.setMaxTimeDeviation(86400L);
tableOptions.setAllowUpdate(false);
request.setTableOptionsForUpdate(tableOptions);
client.updateTable(request);
Paramètres
L'objet UpdateTableRequest contient les paramètres suivants.
|
Nom |
Type |
Description |
|
tableName (obligatoire) |
|
Le nom de la table. |
|
tableOptionsForUpdate (facultatif) |
|
Les configurations de table à mettre à jour. Spécifiez au moins une configuration de table. |
|
streamSpecification (facultatif) |
|
La configuration Stream. |
|
reservedThroughputForUpdate (facultatif) |
|
La configuration du débit de lecture/écriture réservé. Vous ne pouvez spécifier des valeurs non nulles que pour les instances optimisées pour le calcul en mode CU. |
Vous devez spécifier au moins l'un des paramètres suivants : tableOptionsForUpdate, streamSpecification ou reservedThroughputForUpdate.
Configurations de table
Le paramètre tableOptionsForUpdate est de type TableOptions et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
timeToLive (facultatif) |
|
La durée de vie (TTL) des données, exprimée en secondes. La valeur |
|
maxVersions (facultatif) |
|
Le nombre maximal de versions à conserver pour chaque colonne d'attribut. Pour utiliser un index de recherche ou un index secondaire, définissez ce paramètre sur |
|
maxTimeDeviation (facultatif) |
|
L'écart maximal de version, exprimé en secondes. La différence entre l'horodatage des données et l'heure système actuelle doit rester dans les limites de l'écart maximal de version. La plage de versions valides pour les données des colonnes d'attributs est |
|
allowUpdate (facultatif) |
|
Indique si les données peuvent être mises à jour en appelant la méthode |
Vous ne pouvez définir le paramètre updateFullRow qu'à la création d'une table. Il n'est pas possible de le modifier en appelant la méthode updateTable.
Configuration Stream
Le paramètre streamSpecification est de type StreamSpecification et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
enableStream (obligatoire) |
|
Indique s'il faut activer Stream. |
|
expirationTime (facultatif) |
|
La période de rétention des journaux incrémentiels, exprimée en heures. Valeur maximale : |
Débit de lecture/écriture réservé
Le paramètre reservedThroughputForUpdate est de type ReservedThroughput et contient le paramètre suivant.
|
Nom |
Type |
Description |
|
capacityUnit (obligatoire) |
|
La configuration du débit de lecture/écriture réservé. |
Unités de capacité
Le paramètre reservedThroughputForUpdate.capacityUnit est de type CapacityUnit et contient les paramètres suivants.
|
Nom |
Type |
Description |
|
readCapacityUnit (obligatoire) |
|
Le débit de lecture réservé, exprimé en unités de capacité (CU). |
|
writeCapacityUnit (obligatoire) |
|
Le débit d'écriture réservé, exprimé en unités de capacité (CU). |
Exemples de scénarios
Mise à jour des paramètres Stream
L'exemple de code suivant active Stream pour la table example_table et définit la période de rétention des journaux incrémentiels à 168 heures.
UpdateTableRequest request = new UpdateTableRequest("example_table");
request.setStreamSpecification(new StreamSpecification(true, 168));
client.updateTable(request);
Mise à jour du débit réservé
Le débit réservé est pris en charge uniquement pour les instances optimisées pour le calcul en mode CU. L'exemple de code suivant définit le débit de lecture réservé et le débit d'écriture réservé de la table example_table à 0 CU.
UpdateTableRequest request = new UpdateTableRequest("example_table");
ReservedThroughput reservedThroughput = new ReservedThroughput(0, 0);
request.setReservedThroughputForUpdate(reservedThroughput);
client.updateTable(request);