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 400

Agora 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

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.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.