Todos os produtos
Search
Central de documentação

Tablestore:Atualize uma linha

Última atualização: Aug 20, 2026

Use o Tablestore SDK for Python para adicionar, modifique ou exclua colunas de atributo em uma linha e, opcionalmente, especifique versões de dados.

Pré-requisitos

Instale o Tablestore SDK for Python e inicialize um cliente.

Descrição da função

Chame update_row para atualize uma linha pela chave primária. Esse método altera apenas as colunas de atributo especificadas e mantém as demais inalteradas.

def update_row(
    self,
    table_name,
    row,
    condition,
    return_type=None,
    transaction_id=None,
)

O exemplo a seguir altera a coluna de atributo status para offline na linha com chave primária ("device", 1) da tabela example_table.

primary_key = [("partition", "device"), ("id", 1)]
attribute_columns = {"PUT": [("status", "offline")]}
row = Row(primary_key, attribute_columns)
condition = Condition(RowExistenceExpectation.EXPECT_EXIST)

consumed, return_row = client.update_row(
    "example_table",
    row,
    condition,
)
print("Write CU: %s" % consumed.write)

Parâmetros

O método update_row tem os seguintes parâmetros.

Nome

Tipo

Descrição

table_name (obrigatório)

str

Nome da tabela.

row (obrigatório)

Row

Chave primária e alterações nas colunas de atributo.

condition (obrigatório)

Condition

Condição de atualização. Para mais informações, consulte Use conditional updates. Para ignorar verificações de valores de linhas e colunas, especifique Condition(RowExistenceExpectation.IGNORE).

return_type (opcional)

ReturnType

Tipo de retorno. RT_NONE, valor padrão, não retorna dados. RT_PK retorna a chave primária.

transaction_id (opcional)

str

ID da transação local. Especifique este parâmetro apenas para atualizações em uma transação local. Para mais informações, consulte Use local transactions.

Dados da linha

O parâmetro row é do tipo Row e contém os seguintes parâmetros.

Nome

Tipo

Descrição

primary_key (obrigatório)

List[Tuple]

Chave primária. Especifique todas as colunas da chave primária. Os nomes, a ordem, a quantidade e os tipos devem corresponder ao esquema de chave primária da tabela.

attribute_columns (obrigatório)

Dict[str, List]

Alterações nas colunas de atributo. PUT adiciona ou modifique colunas de atributo. DELETE exclua versões específicas. DELETE_ALL exclua todas as versões das colunas de atributo. INCREMENT realiza operações de contador atômico em colunas de atributo inteiras.

Resposta

update_row retorna os seguintes valores.

Campo

Tipo

Descrição

consumed

CapacityUnit

CUs de leitura e escrita consumidas pela operação.

return_row

Row

Linha retornada. Se return_type for RT_PK, o sistema retorna a chave primária. Caso contrário, esse valor é None.

Exemplos

Gravar uma coluna de atributo com versão especificada

Em uma operação PUT, o terceiro elemento da tupla da coluna de atributo define a versão dos dados como um timestamp em milissegundos.

timestamp = int(time.time() * 1000)
primary_key = [("partition", "device"), ("id", 1)]
attribute_columns = {
    "PUT": [("status", "online", timestamp)],
}
row = Row(primary_key, attribute_columns)

client.update_row(
    "example_table",
    row,
    Condition(RowExistenceExpectation.EXPECT_EXIST),
)

Excluir uma versão específica de uma coluna de atributo

O exemplo a seguir exclua a versão identificada por timestamp da coluna de atributo status e preserva as demais versões.

primary_key = [("partition", "device"), ("id", 1)]
attribute_columns = {
    "DELETE": [("status", None, timestamp)],
}
row = Row(primary_key, attribute_columns)

client.update_row(
    "example_table",
    row,
    Condition(RowExistenceExpectation.EXPECT_EXIST),
)

Excluir uma coluna de atributo inteira

O exemplo a seguir exclua todas as versões da coluna de atributo status.

primary_key = [("partition", "device"), ("id", 1)]
attribute_columns = {"DELETE_ALL": ["status"]}
row = Row(primary_key, attribute_columns)

client.update_row(
    "example_table",
    row,
    Condition(RowExistenceExpectation.EXPECT_EXIST),
)