O DynamoDB pode armazenar imagens?

Sim, mas só as pequenas. O DynamoDB consegue armazenar imagens como atributos Binary (B) codificados em base64, desde que o item inteiro fique abaixo do limite de 400 KB. A AWS recomenda guardar imagens maiores no Amazon S3 e manter no DynamoDB apenas os metadados do objeto e uma referência ao S3, já que 400 KB é pouco demais para a maioria dos arquivos de mídia.

Como funciona o armazenamento de imagens pequenas

Codifique a imagem em base64 e guarde-a em um atributo Binary. O DynamoDB conta o comprimento em bytes brutos para o limite de 400 KB do item, então uma miniatura ou um ícone cabe; uma foto inteira normalmente não.

O padrão recomendado

Para qualquer coisa maior que 400 KB:

  1. Faça upload da imagem para o Amazon S3.
  2. Guarde no DynamoDB a chave S3, o tamanho, o content type e os demais metadados.
  3. Leia os metadados no DynamoDB e depois busque o objeto no S3.

Repare que o DynamoDB e o S3 não compartilham transações, então o seu app precisa limpar objetos órfãos em caso de falha.

Quanto custa embutir a imagem

Pegue um upload por segundo e dez visualizações por segundo, on-demand em us-east-1, e rode as duas formas na nossa calculadora de preços:

Por mêsImagem de 380 KB embutidaPonteiro de 119 bytes
EscritasUS$624,15US$1,64
Leituras (eventualmente consistentes)US$156,04US$1,64
Total de requisiçõesUS$780,19US$3,29

O mesmo tráfego custa 238 vezes mais, e o arredondamento de capacidade responde por tudo isso. Uma unidade de escrita cobre 1 KB, então a imagem cobra 380 delas onde o ponteiro cobra 1. As leituras arredondam para 4 KB, então cada leitura eventualmente consistente da imagem custa 47,5 unidades de leitura contra 0,5.

O armazenamento se acumula por cima. Um upload de 380 KB por segundo adiciona 952 GB por mês, o que dá US$238,09 aos US$0,25 por GB-mês do DynamoDB ou US$21,90 aos US$0,023 do S3 Standard — e os uploads do mês seguinte adicionam o mesmo de novo.

O item de ponteiro descrito por esses números é este, e ele mede 119 bytes:

{
  "pk": "IMG#2026-07-28#a1b2c3",
  "s3Key": "uploads/2026/07/28/a1b2c3.jpg",
  "contentType": "image/jpeg",
  "bytes": 389120,
  "width": 1920,
  "height": 1080,
  "uploadedAt": 1785283200
}

Aprofunde-se

Veja tamanho máximo de item e meça itens com a calculadora de tamanho de item. Baixe o DynoTable para inspecionar atributos binários.

Fontes de preços

  • Amazon DynamoDB pricing — tarifas de unidade de requisição e de armazenamento, sincronizadas na calculadora a partir da AWS Price List API.
  • Amazon S3 pricing — armazenamento S3 Standard, US$0,023 por GB-mês para os primeiros 50 TB em us-east-1 (lido da Price List API em 2026-07-28).

Referências

Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.

Precificado em 2026-07-28 com a nossa própria calculadora de preços sobre as tarifas de us-east-1 que ela sincroniza da AWS Price List API. Entradas: on-demand, 1 escrita/segundo, 10 leituras eventualmente consistentes/segundo, 380 KB contra o item de 119 bytes acima, free tier desligado.

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.