Todos los productos
Search
Centro de documentos

Tablestore:Lifecycle management

Última actualización: Sep 22, 2026

El tiempo de vida (TTL) es un atributo de un search index que especifica el periodo de retención de los datos. Tablestore elimina automáticamente los datos que superan su periodo de retención para reducir el uso y los costos de almacenamiento.

Notas de uso

Para usar la función de gestión del ciclo de vida, debe deshabilitar la operación de escritura UpdateRow en la tabla de datos.

  • Este requisito evita inconsistencias de datos entre la tabla de datos y el search index.

    El TTL de una tabla de datos se aplica por columna de atributo, pero el de un search index se aplica a toda la fila. Si utiliza una operación UpdateRow, Tablestore podría eliminar algunas columnas de la tabla de datos mientras la fila correspondiente permanece en el search index, lo que provoca que se desincronicen.

    Si necesita actualizar datos, utilice la operación PutRow para sobrescribir la fila completa.

  • El TTL de un search index se especifica en segundos y puede ser -1 o un entero positivo de 32 bits. Un valor de -1 significa que los datos se almacenan de forma permanente. El valor máximo equivale aproximadamente a 68 años.

  • El TTL de un search index es independiente del TTL de la tabla de datos. El valor del TTL del search index debe ser menor o igual al de la tabla de datos. Cuando reduzca ambos valores, disminuya primero el TTL del search index y después el de la tabla de datos.

  • Tablestore limpia automáticamente los datos caducados de los search indexes cada día. Todavía puede consultar los datos caducados hasta que se eliminen durante este proceso de limpieza.

  • Después de actualizar el TTL de una tabla de datos y de un search index, Tablestore elimina los datos recién caducados durante el siguiente ciclo de limpieza.

Procedimiento

Puede establecer el tiempo de vida (TTL) de un search index mediante la consola o un SDK. La operación UpdateRow debe permanecer deshabilitada en la tabla de datos para utilizar esta función.

Console

  1. Deshabilite la operación de escritura UpdateRow en la tabla de datos.

    1. En la pestaña Basic Information de la tabla de datos, haga clic en Modify Attributes.

    2. En el cuadro de diálogo Modify Attributes, establezca No en No, seleccione la casilla de verificación de la notificación de riesgo y luego haga clic en OK.

  2. Establezca el tiempo de vida (TTL) del search index.

    Una vez deshabilitada la operación UpdateRow en la tabla de datos, puede configurar el TTL en un search index nuevo o existente.

    Índice nuevo

    1. En la pestaña Indexes de la tabla de datos, haga clic en Create Search Index.

    2. En el cuadro de diálogo Create Index, configure el nombre del índice y el método de generación del esquema.

    3. Active el interruptor Advanced Settings, configure Time to Live y luego haga clic en OK.

      Establezca Time to Live en -1 para evitar que los datos caduquen.

    Índice existente

    1. En la pestaña Indexes de la tabla de datos, busque el search index deseado y haga clic en Index Details en la columna Actions.

    2. En el cuadro de diálogo Index Details, haga clic en Modify, actualice el valor de Time to Live y luego haga clic en Modify.

      El valor de Time to Live se expresa en segundos. El mínimo es 86,400 (un día), o bien puede configurarlo en -1 para evitar que los datos caduquen. El TTL del search index no debe superar el TTL de la tabla de datos.

  3. Para que los datos de la propia tabla de datos caduquen, debe configurar su TTL por separado.

    1. En la pestaña Basic Information de la tabla de datos, dentro de la sección Description, haga clic en Modify Attributes.

    2. En el cuadro de diálogo Modify Attributes, configure el tiempo de vida según sus necesidades y luego haga clic en OK.

SDK

Puede utilizar Java SDK o Go SDK para gestionar el ciclo de vida de los datos. A continuación se muestra un ejemplo con el SDK de Java.

  1. Deshabilite las actualizaciones de la tabla con UpdateRow.

    El siguiente ejemplo deshabilita las actualizaciones UpdateRow para example_table.

    String tableName = "example_table";
    UpdateTableRequest request = new UpdateTableRequest(tableName);
    TableOptions tableOptions = new TableOptions();
    tableOptions.setAllowUpdate(false);
    request.setTableOptionsForUpdate(tableOptions);
    
    client.updateTable(request);
  2. Configure el TTL del search index.

    Elija una opción según si el search index ya existe o no.

    Índice nuevo

    Establezca un TTL de siete días cuando cree un search index.

    String tableName = "example_table";
    String indexName = "example_index";
    IndexSchema indexSchema = new IndexSchema();
    indexSchema.setFieldSchemas(Arrays.asList(
            new FieldSchema("category", FieldType.KEYWORD),
            new FieldSchema("price", FieldType.LONG)));
    
    CreateSearchIndexRequest request = new CreateSearchIndexRequest();
    request.setTableName(tableName);
    request.setIndexName(indexName);
    request.setIndexSchema(indexSchema);
    request.setTimeToLiveInDays(7);
    
    client.createSearchIndex(request);

    Índice existente

    Actualice el TTL de un search index existente a siete días.

    String tableName = "example_table";
    String indexName = "example_index";
    UpdateSearchIndexRequest request =
            new UpdateSearchIndexRequest(tableName, indexName);
    request.setTimeToLiveInDays(7);
    
    client.updateSearchIndex(request);
  3. Configure el TTL de la tabla si es necesario.

    El siguiente ejemplo establece el TTL de example_table en siete días. Ejecute esta operación antes o después de configurar el TTL del search index, según la restricción de TTL descrita anteriormente.

    String tableName = "example_table";
    UpdateTableRequest request = new UpdateTableRequest(tableName);
    TableOptions tableOptions = new TableOptions();
    tableOptions.setTimeToLiveInDays(7);
    request.setTableOptionsForUpdate(tableOptions);
    
    client.updateTable(request);