모든 범위 키의 집계된 크기가 크기 제한인 1024바이트를 초과했습니다.

TL;DR — DynamoDB는 정렬(범위) 키 값을 1024바이트로 제한하고 파티션(해시) 키 값을 2048바이트(UTF-8로 인코딩된 측정)로 제한합니다. 정렬 키 값이 1024바이트를 초과했습니다. 일반적으로 복합 키가 너무 많이 채워져 있습니다. 길이를 줄이거나, 긴 부분을 해시하거나, 핵심이 아닌 속성으로 대량 이동하세요.

무엇을 의미하는가

ValidationException: One or more parameter values were invalid: Aggregated size of all range keys has exceeded the size limit of 1024 bytes

# on DynamoDB Local you get one combined sentence instead, naming neither key:
ValidationException: Hash primary key values must be under 2048 bytes, and range primary key values must be under 1024 bytes

이는 400KB 항목 제한과 별개인 엄격한 키 크기 제한입니다. 정렬 키 값(UTF-8 바이트로 측정됨)은 최대 1024바이트일 수 있습니다. 파티션 키 값은 최대 2048입니다. 이를 교차하면 HTTP 400 ValidationException로 쓰기가 거부됩니다. 즉, 키가 더 작아질 때까지 재시도할 수 없는 요청 오류입니다.

왜 발생하는가

  • 너무 긴 복합 정렬 키 — 값이 1024바이트를 초과할 때까지 많은 세그먼트(ORG#…#PROJECT#…#DOC#…#veryLongTitle…)를 연결합니다.
  • 큰 값을 키에 인코딩 — 전체 URL, 경로, 설명 또는 직렬화된 blob을 정렬 키에 넣습니다.
  • 멀티바이트 문자 — ASCII가 아닌 텍스트는 UTF-8에서 각각 2~4바이트이므로 "짧은" 문자열은 바이트 제한을 초과할 수 있습니다.
  • 파티션 키가 너무 큼 — 2048바이트 해시 키 제한과 동일한 오류 클래스입니다.

어떻게 해결하는가

  1. 실제로 쿼리하는 세그먼트로만 복합 키를 자릅니다. 사람이 읽을 수 있는 필러를 삭제합니다.
  2. 긴 부분을 해시화 — 짧은 결정적 다이제스트(예: 잘린 SHA-256)를 키에 저장하고 전체 값을 일반 속성으로 유지합니다.
  3. 키에서 대량 이동 — 정렬 키는 페이로드를 전달하는 것이 아니라 항목을 식별/주문해야 합니다. 키가 아닌 속성(400KB 항목 예산을 활용)에 긴 텍스트를 입력합니다.
  4. 문자가 아닌 바이트 단위로 측정 — 특히 비ASCII 데이터의 경우 UTF-8로 인코딩 및 계산됩니다.

DynoTable에서 보기

초안 항목을 item size calculator에 붙여넣고 작성하기 전에 키 속성 바이트 수를 확인하세요. DynoTable에서 ⌘K로 테이블을 열고, 스테이징(⌘S)으로 테스트 항목을 생성하고, 키 맞춤을 확인합니다. 커밋하기 전에 너무 큰 키가 실패합니다.

복합 키를 재설계할 때 더 짧은 키 세그먼트를 사용하여 Query Builder에서 쿼리를 프로토타입하세요. ⌘P로 프로필을 전환합니다. 설정 → 프로필에서 연결 테스트를 수행합니다. Connect to AWSInstall를 참조하세요.

출처

관련 오류

참고 자료

위에 링크된 공식 AWS 문서를 기준으로 2026년 7월 13일에 마지막으로 확인되었습니다.

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.