DynamoDB S3 import failed — invalid format
TL;DR — ImportTable 以狀態 FAILED、FailureCode: ItemValidationError 和訊息 "Some of the items failed validation checks and were not imported." 結束。源物件與你宣告的 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 itemDynamoDB 從 S3 匯入會根據你在 ImportTable 呼叫中宣告的格式和壓縮來驗證每個物件——InputFormat(DYNAMODB_JSON、ION 或 CSV)和 InputCompressionType(GZIP、ZSTD 或 NONE)優先於副檔名。如果位元組無法按宣告解析,或者某個項目缺少表的主索引鍵,那個項目會被跳過(匯入繼續處理下一個項目),而作業以 FAILED 結束。
為什麼會發生
- 格式不匹配——你指定了
DYNAMODB_JSON,但物件實際上是 CSV(或普通 JSON),因此什麼都解析不了。 - 壓縮不匹配——字首下的物件壓縮方式不同(有些 GZIP,有些 NONE);它們必須全部使用同一種。
- 不受支援的壓縮——只允許
GZIP、ZSTD或NONE;其他編解碼器會失敗。 - 缺失主索引鍵——一個 CSV/JSON 項目沒有與宣告的分割槽(或排序)鍵匹配的列/屬性:"Missing the key pk in the item."
- 鍵型別不匹配——匯入的鍵型別與表的
AttributeDefinitions不匹配(例如一個數字鍵被當作字串匯入)。 - 字首下有一個無法解析的物件——匹配該字首的每個物件都被當作資料讀取,因此一個雜散的預留位置或格式錯誤的檔案會驗證失敗。
如何修正
- 讓
InputFormat與實際位元組匹配——CSV 檔案 →CSV,DynamoDB JSON →DYNAMODB_JSON,Amazon Ion →ION。 - 讓字首下的每個物件使用相同的壓縮,並設定
InputCompressionType與之匹配(GZIP/ZSTD/NONE)。 - 確保每個項目都有主索引鍵——對於 CSV,包含名稱與宣告的
KeySchema匹配的鍵列(及表頭)。 - 讓鍵屬性型別與表的
AttributeDefinitions匹配(S/N/B)。 - 閱讀 CloudWatch 錯誤日誌,位於
/aws-dynamodb/imports,日誌流<import-id>/error,獲取確切的逐項目原因。 - 在字首下只保留可解析的資料物件;透過 CLI/SDK 上傳資料,而不是在主控台中建立資料夾。
在從現有資料構建匯入檔案?DynoTable 桌面應用會匯出並預覽 DynamoDB JSON,讓你在把物件推送到 S3 之前核實格式以及主索引鍵是否存在。
DynoTable 工作臺
上傳前驗證匯入檔案 - 從DynoTable匯出示例項目為DynamoDBJSON(⌘K→複製項目)並確認JSON converter中的關鍵屬性。當大物件導致解析失敗時,使用 item size calculator 檢查項目大小。在“設定”→“設定檔案”下使用Test Connection配置 S3 帳戶設定檔案;用 ⌘P 切換。參見連線 AWS和安裝。
來源
- Import format quotas and validation(2026-07-13 驗證)
- ImportTable — Amazon DynamoDB API Reference(2026-07-13 驗證)
相關錯誤
- ResourceInUseException——匯入目標表名已經存在。
- The provided key element does not match the schema——一個鍵型別不匹配。
- 學習:DynamoDB JSON marshalling · Export DynamoDB to CSV
參考資料
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
最後核實於 2026-07-13,依據上方連結的 AWS 官方文件。