Qual é o tamanho máximo de item no DynamoDB?
400 KB. O tamanho máximo de item no DynamoDB é 400 KB. Esse total conta tanto os nomes de atributo (comprimento em bytes UTF-8) quanto todos os valores de atributo (comprimento binário), incluindo listas e mapas aninhados. Valores binários são medidos pelo comprimento bruto em bytes. Não há como aumentar esse limite — objetos maiores pertencem ao Amazon S3.
O que conta para os 400 KB
O tamanho do item é a soma de:
- cada nome de atributo, medido em bytes UTF-8, e
- cada valor de atributo, medido em comprimento binário (strings como UTF-8, números de forma compacta, binários como bytes brutos).
A estrutura de mapas e listas aninhados também acrescenta um pequeno overhead por elemento. Nomes de atributo longos custam espaço de verdade — encurte-os para ganhar folga.
400 KB são 409.600 bytes, e o nome faz parte disso
A AWS mede em unidades binárias: "DynamoDB denotes 1 KB = 1024 bytes." Então o teto são 409.600 bytes, não 400.000. Você consegue encontrar a borda exata fazendo uma busca binária com o PutItem e um atributo string:
await client.send(
new PutItemCommand({
TableName: 'sizes',
Item: {pk: {S: 'A'}, a: {S: 'x'.repeat(n)}}
})
);O maior n que dá certo é 409.596. Some o nome da chave (pk, 2 bytes), o valor da chave (A, 1 byte) e o nome do atributo (a, 1 byte) e você chega em 409.600 exatamente. Um byte a mais te dá:
ValidationException: Item size has exceeded the maximum allowed size
HTTP 400Agora renomeie esse atributo de a para attributeName e não mude mais nada. O maior valor que cabe cai para 409.584, exatamente 12 bytes a menos, e 12 bytes é o comprimento extra do nome.
A própria orientação da AWS decorre dessa aritmética. "We recommend that you choose shorter attribute names rather than long ones."
É também por isso que um orçamento de 400 KB é mais apertado do que parece em um item com muitos atributos. Todo nome é pago em toda escrita, e em toda leitura, pela vida inteira do item.
Por que isso importa
O tamanho do item dirige o custo de capacidade: cada leitura é cobrada em passos de 4 KB e cada escrita em passos de 1 KB (veja unidade de capacidade). Um item maior custa mais por operação, além de arriscar o limite rígido.
Quando você bater nele
Divida os dados em vários itens, ou mova blobs grandes para o Amazon S3 e guarde uma referência no DynamoDB.
Aprofunde-se
Meça qualquer item com a calculadora de tamanho de item e leia o guia sobre o limite de tamanho de item. Baixe o DynoTable para ver os tamanhos dos itens enquanto edita.
Referências
- Constraints in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- DynamoDB item sizes and formats — Amazon DynamoDB Developer Guide
- Local secondary indexes — Amazon DynamoDB Developer Guide
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima. A restrição de 400 KB foi reconferida em 2026-07-28: ela agora vive em Constraints.html, não na página de quotas.
Medido em 2026-07-28 contra o DynamoDB Local 3.3.0 via @aws-sdk/client-dynamodb 3.1095.0 no Node v24.18.0. Os números de bytes vêm de uma busca binária sobre o PutItem; a ValidationException é saída literal do motor.