O Tablestore oferece três operações para gravar dados em tabelas: PutRow, UpdateRow e BatchWriteRow.
As linhas são as unidades básicas das tabelas. Cada linha consiste em colunas de chave primária e colunas de atributo opcionais. Os nomes e tipos das colunas de chave primária são idênticos em todas as linhas de uma tabela, enquanto as colunas de atributo podem variar entre linhas. Para mais informações, consulte Visão geral.
Operações
|
Operação |
Escopo |
Comportamento |
|
PutRow |
Linha única |
Insere uma linha. Se já existir uma linha com a mesma chave primária, exclui todas as versões de dados de todas as colunas e grava os novos dados. |
|
UpdateRow |
Linha única |
Adiciona, atualiza ou remove colunas de atributo. Exclui uma versão específica de dados de uma coluna. Caso a linha não exista, insere uma nova linha (exceto se a solicitação apenas remover colunas). |
|
BatchWriteRow |
Múltiplas linhas |
Combina várias suboperações PutRow, UpdateRow e DeleteRow em uma única solicitação, abrangendo uma ou mais tabelas. O sistema executa e responde a cada suboperação de forma independente. |
Configurações comuns
Antes de gravar dados, configure as seguintes opções opcionais para qualquer operação de escrita:
Número da versão dos dados: Por padrão, o Tablestore utiliza o timestamp UNIX atual (milissegundos desde
January 1, 1970, 00:00:00UTC) como número da versão. Especifique um número de versão personalizado, se necessário. Para mais informações, consulte Versões de dados e TTL.Atualização condicional: Defina uma condição de existência de linha ou baseada em valores de coluna. Para mais informações, consulte Atualizações condicionais.
Resposta do PutRow
Em caso de sucesso, o Tablestore retorna o número de unidades de capacidade (CUs) consumidas.
Em caso de falha, o Tablestore retorna um código de erro (por exemplo, falha na validação de parâmetros, excesso de dados na linha ou falha na verificação de existência da linha).
Para mais informações sobre códigos de erro, consulte Códigos de erro.
Tratamento de falhas parciais no BatchWriteRow
Quando algumas linhas falham em uma solicitação BatchWriteRow, o Tablestore não lança exceção. Em vez disso, retorna um BatchWriteRowResponse com informações sobre as linhas que falharam. Sempre chame o método isAllSucceed para verificar se todas as linhas foram gravadas com sucesso.
Se o servidor detectar parâmetros inválidos em algumas operações, poderá retornar um erro antes de executar qualquer operação da solicitação.
O BatchWriteRow também suporta condições por operação. Configure condições de atualização separadamente para cada suboperação PutRow, UpdateRow ou DeleteRow.
Use the Tablestore console
Use the Tablestore CLI
Use Tablestore SDKs
Faturamento
As operações de escrita são cobradas com base no número de CUs consumidas. As CUs de leitura e escrita medidas e as CUs de leitura e escrita reservadas têm cobrança separada. O tipo de instância determina qual tipo de CU é consumido.
Para mais informações sobre tipos de instância e CUs, consulte Instâncias e Throughput de leitura e escrita.
Cálculo de CU de escrita
|
Operação |
Fórmula |
|
PutRow |
Arredondado para cima: (Tamanho de todas as colunas de chave primária + Tamanho das colunas de atributo inseridas) / 4 KB |
|
UpdateRow |
Arredondado para cima: (Tamanho de todas as colunas de chave primária + Tamanho das colunas de atributo atualizadas) / 4 KB. Para operações de remoção de coluna, o comprimento do nome da coluna conta como o tamanho da coluna. |
|
DeleteRow (no BatchWriteRow) |
Arredondado para cima: Tamanho de todas as colunas de chave primária / 4 KB |
Cálculo de CU de leitura
As CUs de leitura são consumidas apenas quando o parâmetro condition não está definido como IGNORE.
|
Operação |
Fórmula |
Condição não atendida |
|
PutRow |
Arredondado para cima: Tamanho de todas as colunas de chave primária / 4 KB |
A operação falha. Consome 1 CU de escrita e 1 CU de leitura. |
|
UpdateRow |
Arredondado para cima: Tamanho de todas as colunas de chave primária / 4 KB |
A operação falha. Consome 1 CU de escrita e 1 CU de leitura. |
|
DeleteRow (no BatchWriteRow) |
Arredondado para cima: Tamanho de todas as colunas de chave primária / 4 KB |
A operação falha. Consome 1 CU de escrita e 1 CU de leitura. |