Modification des tables actives globales à l'aide d'API
Dans une table Global Active, le schéma de la table ne peut pas être modifié.
Vous ne pouvez pas ajouter de nouveaux champs ou supprimer des champs existants d'une table globale active. La modification de la limite de capacité de lecture ou d'écriture dans une table Global Active applique les modifications uniquement à la région où la modification est lancée. Toutefois, la modification de la capacité de stockage ou de la valeur de durée de vie par défaut au niveau table applique les modifications à toutes les régions de réplique de la table.
Modifier une table globale active
Les utilisateurs peuvent utiliser la demande de table existante (TableRequest()) pour mettre à jour les éléments suivants dans une table Global Active :
- read-units : Modifiez la valeur des read-units d'une réplique de table régionale.
- unités d'écriture : Modifiez la valeur des unités d'écriture d'une réplique de table régionale.
- mode capacité : Modifiez le mode capacité (de sur demande à provisionné ou inversement) d'une réplique de table régionale.
- Taille de table : Modifiez la capacité de stockage de la table dans toutes les répliques régionales.
TableLimits limits = new TableLimits(40, 10, 5);
TableRequest treq = new TableRequest().setTableName( "<table_name>" ).setTableLimits(limits);
TableResult tres = handle.tableRequest(treq);
/* wait for completion of the operation */
tres.waitForCompletion(handle, 60000, 1000);
// Call the constructor to only set storage limit (for on-demand)
TableLimits limits = new TableLimits(10);
TableRequest treq = new TableRequest().setTableName("<table_name>").setTableLimits(limits);
TableResult tres = serviceHandle.tableRequest(treq);
tres.waitForCompletion(serviceHandle, 50000,3000);
AddReplicaRequest()
./* add replica ca-toronto-1 */
System.output.println("Adding replica: " + region);
AddReplicaRequest addRepReq = new AddReplicaRequest()
.setTableName(tableName)
.setReplicaName(region);
res = handle.addReplica(addRepReq);
res.waitForCompletion(handle, 90000, 1000);
System.output.println("Added replica: " + region);
System.output.println("Table:\n" + JsonUtils.prettyPrint(res));
DropReplicaRequest()
. Lorsque toutes les répliques régionales sont supprimées, la table Global Active devient une table singleton./* drop replica ca-montreal-1 */
System.output.println("\nDropping replica: " + region);
DropReplicaRequest dropRepReq = new DropReplicaRequest()
.setTableName(tableName)
.setReplicaName(region);
res = handle.dropReplica(dropRepReq);
res.waitForCompletion(handle, 60000, 500);
System.output.println("Dropped replica: " + region);
Note :
Voir Suppression de répliques de tables parent-enfant pour comprendre la dépendance lors de la suppression d'une réplique d'une table parent.Modification des tables actives globales à l'aide d'API