Size of hashkey has exceeded the maximum size limit of 2048 bytes
TL;DR — DynamoDB 限制鍵長度:一個分割槽(hash)鍵值最多 2048 位元組,一個排序(range)鍵值最多 1024 位元組,以 UTF-8(或原始二進位制)位元組測量。鍵超過限制的寫入會被拒絕。縮短鍵——對長的值做雜湊,或把龐大的資料移入一個非鍵屬性。
這是什麼意思
ValidationException: One or more parameter values were invalid: Size of hashkey has exceeded the maximum size limit of2048 bytes
# sort-key variant:
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(是的,"of2048" 中缺少的空格就在服務實際的訊息裡。)鍵屬性由 DynamoDB 建立索引並進行物理分割槽,因此它們的長度被限制在遠低於 400 KB 的項目限制之下。分割區索引鍵值必須是 1 到 2048 位元組,排序索引鍵值必須是 1 到 1024 位元組。位元組數是編碼後的大小(字串用 UTF-8,二進位制用原始位元組)——多位元組字元不止算一個。它是一個 HTTP 400 ValidationException,屬於用戶端錯誤,在鍵變小之前不可重試。
為什麼會發生
- 一個長字串作為分割區索引鍵——一個 URL、完整文件、編碼的二進位制塊,或直接用作鍵值的連線複合鍵。
- 一個冗長的複合排序索引鍵——用
#連線的許多段合計超過 1024 位元組。 - 鍵中的 Base64 / 序列化資料——編碼把位元組數膨脹過了限制。
- 多位元組文字——其 UTF-8 編碼比字元數所暗示的更大的非 ASCII 內容。
如何修正
- 對長的值做雜湊——儲存一個確定性摘要(例如 SHA-256,約 32 位元組)作為鍵,把完整的值保留在一個單獨的非鍵屬性中。
- 選擇一個更緊湊的鍵——用一個更短的自然識別符號代替龐大的欄位。
- 縮短複合鍵——裁剪或縮寫構成
#連線排序索引鍵的那些段。 - 把超大的內容移出鍵進入一個常規屬性(它只需容納 400 KB 的項目限制)。
從 DynoTable 連線
將草稿鍵值貼上到 item size calculator 中,並在寫入之前檢查位元組數是否符合 2048/1024 限制。在 DynoTable 中,暫存 (⌘S) 捕獲使用 ⌘K 開啟的測試項目上的過大按鍵。當縮短組合鍵時,原型查詢在Query Builder中。使用 ⌘P 切換設定檔案; 在“設定”→“設定檔案”上測試連線。參見連線 AWS和安裝。
來源
- Constraints in Amazon DynamoDB(2026-07-13 驗證)
- Supported data types and naming rules(2026-07-13 驗證)
相關錯誤
- Item size has exceeded the maximum allowed size——400 KB 的整項目限制(相對於逐鍵限制)。
- Item size to update has exceeded the maximum allowed size——更新期間的一個鍵/索引大小限制。
- ValidationException (overview)
- 學習:Item size & the 400 KB limit · Composite primary keys
參考資料
- Constraints in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Supported data types and naming rules in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
最後核實於 2026-07-13,依據上方連結的 AWS 官方文件。