Todos os produtos
Search
Central de documentação

Tablestore:Excluir dados

Última atualização: Jul 03, 2026

O Tablestore oferece a operação DeleteRow para excluir uma única linha e a operação BatchWriteRow para excluir várias linhas simultaneamente.

Aviso

Não é possível restaurar dados excluídos. Proceda com cautela.

Pré-requisitos

Antes de começar, verifique se você tem:

Excluir uma única linha

Chame a operação DeleteRow para excluir uma única linha. Se a linha não existir, a tabela permanecerá inalterada.

Operações da API

/// <summary>
/// Delete a row of data based on the specified table name and primary key.
/// </summary>
/// <param name="request">Request instance</param>
/// <returns>Response instance</returns>
public DeleteRowResponse DeleteRow(DeleteRowRequest request);

/// <summary>
/// The asynchronous mode of DeleteRow.
/// </summary>
public Task<DeleteRowResponse> DeleteRowAsync(DeleteRowRequest request);

Parâmetros

Parâmetro Descrição
tableName Nome da tabela.
primaryKey Chave primária da linha a excluir.
Nota

A quantidade e os tipos das colunas de chave primária devem corresponder ao esquema definido na criação da tabela.

condition Condição obrigatória antes da exclusão da linha. Especifique uma condição de existência de linha ou baseada em valores de coluna. Para mais informações, consulte Executar atualizações condicionais.

Exemplo

O exemplo a seguir exclui uma linha da tabela SampleTable. Essa linha possui duas colunas de chave primária: pk0 (inteiro) e pk1 (string). A condição RowExistenceExpectation.EXPECT_EXIST garante que a operação prossiga apenas se a linha existir.

// Define the primary key of the row to delete.
// In this example, pk0 = 0 and pk1 = "abc".
var primaryKey = new PrimaryKey();
primaryKey.Add("pk0", new ColumnValue(0));
primaryKey.Add("pk1", new ColumnValue("abc"));

try
{
    // Construct the delete request.
    // EXPECT_EXIST means the operation succeeds only if the row exists.
    var deleteRowRequest = new DeleteRowRequest(
        "SampleTable",
        new Condition(RowExistenceExpectation.EXPECT_EXIST),
        primaryKey);

    // Execute the delete operation.
    otsClient.DeleteRow(deleteRowRequest);

    // No exception means the operation succeeded.
    Console.WriteLine("Delete row succeeded.");
}
catch (Exception ex)
{
    // An exception indicates the operation failed.
    Console.WriteLine("Delete row failed, exception:{0}", ex.Message);
}

Excluir várias linhas

Para excluir várias linhas, obtenha as chaves primárias das linhas de destino e passe-as para a operação BatchWriteRow em uma única solicitação em lote.

Etapa 1: Obter chaves primárias

Escolha um dos métodos abaixo conforme o seu caso de uso:

  • Exclua linhas dentro de um intervalo de chave primária: Chame a operação GetRange para consultar linhas em um intervalo especificado e obter suas chaves primárias. Para mais informações, consulte Ler dados cujos valores de chave primária estão dentro de um intervalo específico.

  • Exclua linhas correspondentes a condições específicas: Se a tabela tiver um índice de pesquisa, use-o para consultar as linhas correspondentes e obter suas chaves primárias. Para mais informações, consulte Consulta básica.

  • Exclua todas as linhas: Para remover todos os dados de uma tabela, recomenda-se excluir a tabela e crie outra com a mesma configuração. Alternativamente, chame a operação GetRange definindo a chave primária inicial como INF_MIN e a final como INF_MAX para verificar todas as linhas e recuperar suas chaves primárias. Uma varredura completa da tabela consome recursos computacionais significativos. Proceda com cautela.

Etapa 2: Exclusão em lote

Chame a operação BatchWriteRow para excluir as linhas identificadas na Etapa 1. Para mais informações, consulte Gravar várias linhas de dados ao mesmo tempo.

Após a conclusão do lote, verifique na resposta se há linhas não processadas. Algumas linhas podem permanecer sem processamento caso um limite de throughput seja atingido ou ocorra um erro transitório. Repita a operação nas linhas não processadas até que todas as exclusões sejam bem-sucedidas.

Referências

O tempo de vida (TTL) defina o período de retenção dos dados. Configure o TTL em uma tabela para excluir automaticamente os dados expirados. Para mais informações, consulte Versões de dados e TTL.