Todos os produtos
Search
Central de documentação

Tablestore:Lifecycle management

Última atualização: Sep 22, 2026

O time to live (TTL) é um atributo de um índice de pesquisa que especifica o período de retenção de dados. Não exclua os dados manualmente; o Tablestore exclui automaticamente os dados que ultrapassam esse período de retenção para reduzir o uso e os custos de armazenamento.

Observações de uso

Para usar o recurso de gerenciamento de ciclo de vida, desabilite a operação de gravação UpdateRow para a tabela de dados.

  • Esse requisito evita inconsistências de dados entre a tabela de dados e o índice de pesquisa.

    O TTL de uma tabela de dados é aplicado por coluna de atributo, enquanto o TTL de um índice de pesquisa é aplicado à linha inteira. Se você usar uma operação UpdateRow, o Tablestore poderá excluir algumas colunas da tabela de dados enquanto a linha correspondente permanece no índice de pesquisa, causando dessincronização.

    Caso precise atualizar dados, use a operação PutRow para sobrescrever a linha inteira.

  • O TTL de um índice de pesquisa, especificado em segundos, pode ser -1 ou um inteiro positivo de 32 bits. O valor -1 indica que os dados são armazenados permanentemente. O valor máximo é de aproximadamente 68 anos.

  • O TTL de um índice de pesquisa é independente do TTL da tabela de dados. O valor do TTL do índice de pesquisa deve ser menor ou igual ao valor do TTL da tabela de dados. Ao diminuir ambos os TTLs, reduza primeiro o TTL do índice de pesquisa e, em seguida, o TTL da tabela de dados.

  • O Tablestore limpa automaticamente os dados expirados dos índices de pesquisa diariamente. Você ainda pode consultar dados expirados até que eles sejam removidos durante esse processo de limpeza.

  • Após atualizar o TTL de uma tabela de dados e de um índice de pesquisa, o Tablestore remove quaisquer dados recém-expirados durante o próximo ciclo de limpeza.

Procedimento

Defina o time to live (TTL) de um índice de pesquisa usando o console ou um SDK. A operação UpdateRow deve permanecer desabilitada na tabela de dados para usar este recurso.

Console

  1. Desabilite a operação de gravação UpdateRow para a tabela de dados.

    1. Na aba Basic Information da tabela de dados, clique em Modify Attributes.

    2. Na caixa de diálogo Modify Attributes, defina No como No, selecione a caixa de seleção para a notificação de risco e, em seguida, clique em OK.

  2. Defina o time to live (TTL) para o índice de pesquisa.

    Após desabilitar a operação UpdateRow para a tabela de dados, defina o TTL em um índice de pesquisa novo ou existente.

    Novo índice

    1. Na aba Indexes da tabela de dados, clique em Create Search Index.

    2. Na caixa de diálogo Create Index, defina o nome do índice e o método de geração de esquema.

    3. Ative a opção Advanced Settings, defina o Time to Live e clique em OK.

      Defina o Time to Live como -1 para evitar que os dados expirem.

    Índice existente

    1. Na aba Indexes da tabela de dados, localize o índice de pesquisa de destino e clique em Index Details na coluna Actions.

    2. Na caixa de diálogo Index Details, clique em Modify, modifique e atualize o valor de Time to Live e clique em Modify.

      O valor de Time to Live é em segundos. O mínimo é 86.400 (um dia), ou você pode defini-lo como -1 para evitar que os dados expirem. O TTL do índice de pesquisa não deve exceder o TTL da tabela de dados.

  3. Para expirar dados da própria tabela de dados, defina o TTL dela separadamente.

    1. Na aba Basic Information da tabela de dados, na seção Description, clique em Modify Attributes.

    2. Na caixa de diálogo Modify Attributes, defina o time to live conforme necessário e clique em OK.

SDK

Use o Java SDK ou o Go SDK e gerencie o ciclo de vida dos dados. O exemplo a seguir usa o SDK para Java.

  1. Desabilite as atualizações da tabela com UpdateRow.

    O exemplo a seguir desabilita as atualizações 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. Em seguida, configure o TTL do índice de pesquisa.

    Agora, escolha uma opção com base na existência do índice de pesquisa.

    Novo índice

    Ao iniciar, crie um índice de pesquisa e defina um TTL de sete dias.

    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

    Agora, atualize o TTL de um índice de pesquisa existente para sete dias.

    String tableName = "example_table";
    String indexName = "example_index";
    UpdateSearchIndexRequest request =
            new UpdateSearchIndexRequest(tableName, indexName);
    request.setTimeToLiveInDays(7);
    
    client.updateSearchIndex(request);
  3. Se necessário, configure o TTL da tabela.

    O exemplo a seguir define o TTL de example_table para sete dias. Execute esta operação antes ou depois de configurar o TTL do índice de pesquisa, com base na restrição de TTL descrita acima.

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