DynamoDB S3 가져오기 실패 — 잘못된 형식

TL;DR — ImportTableFAILED, FailureCode: ItemValidationError 상태로 완료되었으며 메시지 "일부 항목이 유효성 검사에 실패하여 가져오지 못했습니다." 소스 개체가 선언한 InputFormat/InputCompressionType와 일치하지 않거나 항목에 기본 키가 없습니다. 개체와 일치하도록 형식/압축을 수정하고 모든 항목에 키가 있는지 확인한 다음 가져오기를 다시 실행하세요.

무엇을 의미하는가

"FailureCode": "ItemValidationError",
"FailureMessage": "Some of the items failed validation checks and were not
imported. Please check CloudWatch error logs for more details."

# In /aws-dynamodb/imports CloudWatch logs:
ValidationException: One or more parameter values were invalid: Missing the key pk in the item

S3에서 DynamoDB 가져오기는 ImportTable 호출에서 선언한 형식 및 압축에 대해 각 객체의 유효성을 검사합니다. 즉, InputFormat(DYNAMODB_JSON, ION 또는 CSV) 및 InputCompressionType(GZIP, ZSTD 또는 NONE)가 파일 확장자보다 우선합니다. 바이트가 선언된 대로 구문 분석되지 않거나 항목에 테이블의 기본 키가 부족한 경우 해당 항목을 건너뛰고(다음 항목에서 가져오기가 계속됨) 작업이 FAILED에 종료됩니다.

왜 발생하는가

  • 형식 불일치DYNAMODB_JSON을 지정했지만 개체가 실제로는 CSV(또는 일반 JSON)이므로 구문 분석할 내용이 없습니다.
  • 압축 불일치 — 접두사 아래의 개체가 다르게 압축됩니다(일부 GZIP, 일부 NONE). 모두 동일한 것을 사용해야 합니다.
  • 지원되지 않는 압축GZIP, ZSTD 또는 NONE만 허용됩니다. 다른 코덱은 실패합니다.
  • 기본 키 누락 — CSV/JSON 항목에 선언된 파티션(또는 정렬) 키와 일치하는 열/속성이 없습니다. "항목에 키 pk가 누락되었습니다."
  • 키 유형 불일치 — 가져온 키의 유형이 테이블의 AttributeDefinitions(예: 문자열로 가져온 숫자 키)와 일치하지 않습니다.
  • 접두사 아래의 구문 분석할 수 없는 개체 — 접두사와 일치하는 모든 개체는 데이터로 읽혀지므로 잘못된 자리 표시자나 형식이 잘못된 파일은 유효성 검사에 실패합니다.

어떻게 해결하는가

  1. InputFormat를 실제 바이트와 일치시키세요 — CSV 파일 → CSV, DynamoDB JSON → DYNAMODB_JSON, Amazon Ion → ION.
  2. 접두사 아래의 모든 개체가 동일한 압축을 사용하도록 만들고 InputCompressionType를 일치하도록 설정합니다(GZIP/ZSTD/NONE).
  3. 각 항목에 기본 키가 있는지 확인하세요 — CSV의 경우 선언된 KeySchema와 일치하는 이름을 가진 키 열(및 헤더)을 포함합니다.
  4. 키 속성 유형을 테이블의 AttributeDefinitions(S/N/B)와 일치시킵니다.
  5. 정확한 항목별 이유는 /aws-dynamodb/imports, 로그 스트림 <import-id>/error에서 CloudWatch 오류 로그를 읽어보세요.
  6. 접두사 아래에 구문 분석 가능한 데이터 객체만 유지; 콘솔에서 폴더를 생성하는 대신 CLI/SDK를 통해 데이터를 업로드하세요.

DynoTable 워크벤치

업로드 전 가져오기 파일 검증 — DynoTable에서 샘플 항목을 DynamoDB JSON(⌘K → 항목 복사)으로 내보내고 JSON converter에서 주요 속성을 확인합니다. 큰 개체로 인해 구문 분석이 실패하는 경우 item size calculator로 항목 크기를 확인하세요.

설정 → 프로필에서 연결 테스트를 사용하여 S3 계정 프로필을 구성합니다. ⌘P로 전환하세요. Connect to AWSInstall를 참조하세요.

출처

관련 오류

참고 자료

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

Console 없이 DynamoDB 작업하기

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

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