Todos os produtos
Search
Central de documentação

Tablestore:PutRow

Última atualização: Jul 03, 2026

Use a operação PutRow para inserir uma única linha em uma tabela.

Nota
  • Se a linha não existir, o PutRow a criará. Se a linha já existir, o PutRow a substituirá.

  • Uma chamada bem-sucedida não retorna erros.

Estrutura da mensagem de solicitação

message PutRowRequest {
    required string table_name = 1;
    required bytes row = 2; // Plainbuffer-encoded binary data.
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}           

Nome

Tipo

Obrigatório

Descrição

table_name

string

Sim

Nome da tabela de destino da gravação.

row

bytes

Sim

Dados da linha a gravar, incluindo colunas de chave primária e de atributo, codificados no formato Plainbuffer. Para mais informações, consulte Plainbuffer.

condition

Condition

Sim

Defina se o Tablestore verifica a existência da linha antes da gravação. Valores válidos:

  • IGNORE (padrão): Ignora a verificação de existência.

  • EXPECT_EXIST: Exige que a linha exista antes da gravação.

  • EXPECT_NOT_EXIST: Exige que a linha não exista antes da gravação.

return_content

ReturnContent

Não

Tipo de dado retornado após uma gravação bem-sucedida. Apenas a chave primária pode ser retornada. Use este parâmetro com o recurso de coluna de chave primária com incremento automático.

transaction_id

string

Não

ID da transação local. Obrigatório para gravar dados em uma transação local.

Estrutura da mensagem de resposta

message PutRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}         

Nome

Tipo

Descrição

consumed

ConsumedCapacity

Unidades de capacidade consumidas pela operação. Para obter detalhes, consulte Consumo de unidades de capacidade.

row

bytes

Dados da linha retornados. Presente apenas quando return_content está definido. Se return_content não estiver definido ou nenhum dado for retornado, este campo será NULL.

Os dados retornados são codificados no formato PlainBuffer. Para mais informações sobre o PlainBuffer, consulte PlainBuffer.

Usar um SDK

Os SDKs a seguir permitem inserir uma única linha de dados.

Consumo de unidades de capacidade

  • Se a linha não existir, o consumo de unidades de capacidade dependerá da verificação de condição.

    • IGNORE: Consome unidades de capacidade de gravação (WCUs). WCUs = ceil((tamanho da chave primária + tamanho da coluna de atributo) / 4 KB).

    • EXPECT_NOT_EXIST: Consome WCUs e unidades de capacidade de leitura (RCUs). WCUs = ceil((tamanho da chave primária + tamanho da coluna de atributo) / 4 KB). RCUs = ceil(tamanho da chave primária / 4 KB).

    • EXPECT_EXIST: A gravação falha e consome 1 WCU e 1 RCU.

  • Se a linha existir, o consumo de unidades de capacidade variará conforme a verificação de condição.

    • IGNORE: Consome WCUs. WCUs = ceil((tamanho da chave primária + tamanho da coluna de atributo) / 4 KB).

    • EXPECT_EXIST: Consome WCUs e RCUs. WCUs = ceil((tamanho da chave primária + tamanho da coluna de atributo) / 4 KB). RCUs = ceil(tamanho da chave primária / 4 KB).

    • EXPECT_NOT_EXIST: A gravação falha e consome 1 WCU e 1 RCU.

    Para saber como o tamanho dos dados é calculado, consulte Preços.

  • Em atualizações condicionais bem-sucedidas, o consumo segue as regras acima. Em caso de falha, a operação consome 1 WCU e 1 RCU.

  • Se a solicitação atingir o tempo limite com resultados indefinidos, as CUs poderão ou não ser consumidas.

  • Erros internos (código de status HTTP 5xx) não consomem unidades de capacidade. Todos os outros erros consomem 1 WCU.