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 os tipos das colunas de chave primária são os mesmos em todas as linhas de uma tabela. As colunas de atributo podem variar entre as linhas. Para mais informações, consulte Overview.
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 em 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. Se a linha não existir, insere uma nova linha (a menos que a solicitação apenas remova colunas). |
|
BatchWriteRow |
Múltiplas linhas |
Combina várias suboperações PutRow, UpdateRow e DeleteRow em uma única solicitação, em uma ou mais tabelas. O Tablestore executa e responde a cada suboperação de forma independente. |
Configurações comuns
Antes de gravar dados, configure os seguintes parâmetros opcionais para qualquer operação de gravação:
Número da versão dos dados: Por padrão, o Tablestore usa 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 Data versions and TTL.Atualização condicional: Defina uma condição de existência de linha ou uma condição baseada em valores de coluna. Para mais informações, consulte Conditional updates.
Resposta do PutRow
Em caso de sucesso, o Tablestore retorna a quantidade 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 Error codes.
Tratamento de falhas parciais no BatchWriteRow
Quando algumas linhas falham em uma solicitação BatchWriteRow, o Tablestore não gera uma exceção. Em vez disso, ele retorna um BatchWriteRowResponse contendo informações sobre as linhas com falha. 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, ele poderá retornar um erro antes de executar qualquer operação na solicitação.
O BatchWriteRow também oferece suporte a condições por operação. Configure as condições de atualização separadamente para cada suboperação PutRow, UpdateRow ou DeleteRow.
Usar o console do Tablestore
Usar a CLI do Tablestore
Usar SDKs do Tablestore
Faturamento
A cobrança das operações de gravação baseia-se na quantidade de CUs consumidas. O sistema cobra separadamente as CUs de leitura e gravação medidas e as CUs de leitura e gravação reservadas. O tipo de instância determina o tipo de CU consumido.
Para mais informações sobre tipos de instância e CUs, consulte Instances e Read and write throughput.
Cálculo de CU de gravação
|
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 sistema considera o comprimento do nome da coluna 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
O consumo de CUs de leitura ocorre 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 gravação 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 gravação 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 gravação e 1 CU de leitura. |