Ukuran hashkey telah melampaui batas ukuran maksimum 2048 byte — "Size of hashkey has exceeded the maximum size limit of 2048 bytes"
TL;DR — Panjang kunci batas DynamoDB: nilai kunci partisi (hash) maksimal 2048 byte, dan nilai kunci pengurutan (rentang) maksimal 1024 byte, diukur sebagai byte UTF-8 (atau biner mentah). Penulisan yang kuncinya melebihi batas ditolak. Persingkat kunci — nilai hash yang panjang, atau pindahkan data besar ke dalam atribut non-kunci.
Apa artinya
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 bytesMengapa itu terjadi
- String panjang sebagai kunci partisi — URL, dokumen lengkap, blob yang dikodekan, atau kunci komposit gabungan yang digunakan langsung sebagai nilai kunci.
- Kunci pengurutan komposit verbose — banyak segmen yang digabungkan dengan
#yang jumlahnya melebihi 1024 byte. - Base64/data serial dalam sebuah kunci — pengkodean meningkatkan jumlah byte melewati batas.
- Teks multi-byte — konten non-ASCII dengan pengkodean UTF-8 lebih besar dari jumlah karakter yang disarankan.
Bagaimana cara memperbaikinya
- Hash nilai panjang — menyimpan intisari deterministik (misalnya SHA-256, ~32 byte) sebagai kunci dan menyimpan nilai penuh dalam atribut non-kunci terpisah.
- Pilih kunci yang lebih ringkas — pengenal alami yang lebih pendek daripada bidang yang besar.
- Mempersingkat kunci komposit — memangkas atau menyingkat segmen yang membentuk kunci pengurutan yang digabungkan dengan
#. - Pindahkan konten berukuran besar dari kunci ke dalam atribut biasa (yang hanya harus sesuai dengan batas item 400 KB).
- Hitung UTF-8 byte, bukan karakter. Teks Emoji dan CJK meluas dengan cepat — string 500 karakter dapat melebihi 2048 byte.
Hubungkan dari DynoTable
Tempelkan nilai kunci draf ke dalam kalkulator ukuran item dan periksa jumlah byte terhadap batas 2048/1024 sebelum Anda menulis. Di DynoTable, staging (⌘S) menangkap kunci berukuran besar pada item pengujian yang dibuka dengan ⌘K.
Saat memperpendek kunci komposit, prototipe membuat kueri di Pembangun Kueri. Ganti profil dengan ⌘P; Uji Koneksi pada Pengaturan → Profil. Lihat Menghubungkan ke AWS dan Instal.
Sumber
- Kendala di Amazon DynamoDB (diverifikasi 13-07-2026)
- Tipe data dan aturan penamaan yang didukung (diverifikasi 13-07-2026)
Kesalahan terkait
- Ukuran item telah melampaui ukuran maksimum yang diperbolehkan — batas keseluruhan item sebesar 400 KB (vs. batas per kunci).
- Ukuran item yang akan diperbarui telah melebihi ukuran maksimum yang diperbolehkan — batas ukuran key/index selama pembaruan.
- ValidationException (ikhtisar)
- Pelajari: Ukuran item & batas 400 KB · Kunci utama komposit
Referensi
- Kendala di Amazon DynamoDB — Panduan Pengembang Amazon DynamoDB
- Tipe data dan aturan penamaan yang didukung di Amazon DynamoDB — Panduan Pengembang Amazon DynamoDB
- Penanganan kesalahan dengan DynamoDB — Panduan Pengembang Amazon DynamoDB
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.