Utilice el Tablestore SDK for Java para actualizar el ciclo de vida de los datos, el número máximo de versiones, la desviación máxima de versión, los permisos de actualización, Stream y la configuración de throughput reservado de una tabla del modelo Wide Column.
Requisitos previos
Instale Tablestore SDK for Java e inicialice el cliente.
Descripción de la función
Llame a updateTable para actualizar las opciones de tabla, la configuración de Stream o el throughput reservado de una tabla. Cada solicitud debe especificar como mínimo un grupo de configuración. Si actualiza TableOptions, especifique como mínimo una opción de tabla.
public UpdateTableResponse updateTable(UpdateTableRequest request) throws TableStoreException, ClientException
El siguiente código de ejemplo actualiza el ciclo de vida de los datos, el número máximo de versiones, la desviación máxima de versión y los permisos de actualización de la tabla 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);
Parámetros
UpdateTableRequest contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
tableName (obligatorio) |
|
El nombre de la tabla. |
|
tableOptionsForUpdate (opcional) |
|
Las configuraciones de tabla que se van a actualizar. Especifique como mínimo una configuración de tabla. |
|
streamSpecification (opcional) |
|
La configuración de Stream. |
|
reservedThroughputForUpdate (opcional) |
|
La configuración de reserved read/write throughput. Solo puede especificar valores distintos de cero para instancias optimizadas para cómputo en modo CU. |
Debe especificar como mínimo uno de los siguientes parámetros: tableOptionsForUpdate, streamSpecification o reservedThroughputForUpdate.
Configuraciones de tabla
tableOptionsForUpdate es de tipo TableOptions y contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
timeToLive (opcional) |
|
El tiempo de vida (TTL) de los datos. Unidad: segundos. Un valor de |
|
maxVersions (opcional) |
|
El número máximo de versiones que se conservarán para cada columna de atributo. Para usar un índice de búsqueda o un índice secundario, establezca este parámetro en |
|
maxTimeDeviation (opcional) |
|
La desviación máxima de versión. Unidad: segundos. La diferencia entre la marca de tiempo de los datos y la hora actual del sistema debe estar dentro de la desviación máxima de versión. El rango de versiones válido para los datos de la columna de atributo es |
|
allowUpdate (opcional) |
|
Indica si los datos se pueden actualizar mediante la llamada a |
Solo puede establecer updateFullRow al crear una tabla. No puede modificarlo mediante la llamada a updateTable.
Configuración de Stream
streamSpecification es de tipo StreamSpecification y contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
enableStream (obligatorio) |
|
Indica si se debe habilitar Stream. |
|
expirationTime (opcional) |
|
El periodo de retención de los registros incrementales. Unidad: horas. Valor máximo: |
Throughput de lectura/escritura reservado
reservedThroughputForUpdate es de tipo ReservedThroughput y contiene el siguiente parámetro.
|
Nombre |
Tipo |
Descripción |
|
capacityUnit (obligatorio) |
|
La configuración de throughput de lectura/escritura reservado. |
Unidades de capacidad
reservedThroughputForUpdate.capacityUnit es de tipo CapacityUnit y contiene los siguientes parámetros.
|
Nombre |
Tipo |
Descripción |
|
readCapacityUnit (obligatorio) |
|
El throughput de lectura reservado. Unidad: CUs. |
|
writeCapacityUnit (obligatorio) |
|
El throughput de escritura reservado. Unidad: CUs. |
Ejemplos de escenarios
Actualizar la configuración de Stream
El siguiente código de ejemplo habilita Stream para la tabla example_table y establece el periodo de retención de los registros incrementales en 168 horas.
UpdateTableRequest request = new UpdateTableRequest("example_table");
request.setStreamSpecification(new StreamSpecification(true, 168));
client.updateTable(request);
Actualizar el throughput reservado
El throughput reservado solo es compatible con instancias optimizadas para cómputo en modo CU. El siguiente código de ejemplo establece tanto el throughput de lectura reservado como el throughput de escritura reservado de la tabla example_table en 0 CUs.
UpdateTableRequest request = new UpdateTableRequest("example_table");
ReservedThroughput reservedThroughput = new ReservedThroughput(0, 0);
request.setReservedThroughputForUpdate(reservedThroughput);
client.updateTable(request);