¿Cuál es el tamaño máximo de Item en DynamoDB?

400 KB. El tamaño máximo de Item en DynamoDB es 400 KB. Ese total cuenta tanto los nombres de atributo (longitud en bytes UTF-8) como todos los valores de atributo (longitud binaria), incluidos listas y mapas anidados. Los valores binarios se miden por su longitud en bytes en crudo. No hay forma de subir este límite — los objetos más grandes van en Amazon S3.

Qué cuenta para los 400 KB

El tamaño del Item es la suma de:

  • cada nombre de atributo, medido en bytes UTF-8, y
  • cada valor de atributo, medido en longitud binaria (las cadenas como UTF-8, los números de forma compacta, el binario como bytes en crudo).

La estructura de mapas y listas anidados añade además una pequeña sobrecarga por elemento. Los nombres de atributo largos cuestan espacio real — acórtalos para ganar sitio.

400 KB son 409.600 bytes, y el nombre forma parte de ellos

AWS mide en unidades binarias: "DynamoDB denotes 1 KB = 1024 bytes." Así que el techo son 409.600 bytes, no 400.000. Puedes encontrar el borde exacto haciendo una búsqueda binaria con PutItem sobre un atributo de cadena:

await client.send(
  new PutItemCommand({
    TableName: 'sizes',
    Item: {pk: {S: 'A'}, a: {S: 'x'.repeat(n)}}
  })
);

El mayor n que funciona es 409.596. Suma el nombre de la clave (pk, 2 bytes), el valor de la clave (A, 1 byte) y el nombre del atributo (a, 1 byte) y aterrizas exactamente en 409.600. Un byte más te da:

ValidationException: Item size has exceeded the maximum allowed size
HTTP 400

Ahora renombra ese atributo de a a attributeName y no cambies nada más. El mayor valor que cabe baja a 409.584, exactamente 12 bytes menos, y 12 bytes es la longitud extra del nombre.

La propia recomendación de AWS se sigue de esa aritmética. "We recommend that you choose shorter attribute names rather than long ones."

Por eso también un presupuesto de 400 KB es más ajustado de lo que parece en un Item con muchos atributos. Cada nombre se paga en cada escritura, y en cada lectura, durante toda la vida del Item.

Por qué importa

El tamaño del Item marca el coste de capacidad: cada lectura se factura en pasos de 4 KB y cada escritura en pasos de 1 KB (mira unidad de capacidad). Un Item más grande cuesta más por operación además de arriesgarse al límite duro.

Cuando lo alcanzas

Reparte los datos entre varios Items, o mueve los blobs grandes a Amazon S3 y guarda una referencia en DynamoDB.

Profundiza

Mide cualquier Item con la calculadora de tamaño de Item y lee la guía del límite de tamaño de Item. Descarga DynoTable para ver los tamaños de los Items mientras editas.

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba. La restricción de 400 KB se volvió a comprobar el 2026-07-28: ahora vive en Constraints.html, no en la página de cuotas.

Medido el 2026-07-28 contra DynamoDB Local 3.3.0 mediante @aws-sdk/client-dynamodb 3.1095.0 en Node v24.18.0. Las cifras de bytes salen de una búsqueda binaria con PutItem; la ValidationException es salida literal del motor.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.