Batas DynamoDBExceededException
TL;DR — Anda mengeluarkan terlalu banyak operasi bidang kontrol sekaligus (atau mencapai batas table/account). Hingga 500 tabel dan indeks mungkin berada dalam status CREATING/UPDATING/DELETING di seluruh akun Anda sekaligus. Buat serial operasi tabel Anda, tunggu ACTIVE, dan coba lagi dengan backoff.
Apa artinya
LimitExceededException: Too many operations for a given subscriber.Mengapa itu terjadi
- Terlalu banyak operasi table/index serentak — jumlah kumulatif tabel dan indeks dalam status
CREATING,DELETING, atauUPDATINGtidak boleh melebihi 500 per akun/Wilayah. (Hingga 500 operasi tabel simultan diperbolehkan per akun —CreateTable,UpdateTable,DeleteTable,UpdateTimeToLive,RestoreTableFromBackup,RestoreTableToPointInTime— dan hanya hingga 250 permintaan bersamaan saat membuat tabel dengan indeks sekunder.) - Penyebaran tumpukan massal — CloudFormation/CDK/Terraform membuat atau menghancurkan banyak tabel (atau banyak GSI) secara bersamaan menghabiskan anggaran konkurensi.
- Kuota sumber daya akun — mencapai batas kuota 2.500 tabel per akun/Wilayah, atau batas 50 pekerjaan impor simultan.
- Penyalahgunaan Aliran DynamoDB — memanggil
GetRecordsdenganLimitlebih besar dari 1000, atau lebih dari 2 proses membaca dari pecahan aliran yang sama sekaligus. - Catatan:
UpdateTablekedua dikeluarkan saat tabel yang sama masihUPDATINGmuncul sebagai ResourceInUseException, bukan kesalahan ini — namun keduanya berarti "tungguACTIVEdulu".
Bagaimana cara memperbaikinya
- Serialisasi operasi bidang kontrol — tunggu hingga tabel (dan setiap GSI) menjadi
ACTIVEsebelum mengeluarkan perubahan berikutnya. Jajak pendapatDescribeTabledan gerbang diTableStatus === 'ACTIVE'. - Coba lagi dengan backoff eksponensial — batasnya bersifat sementara; percobaan ulang yang tertunda biasanya berhasil setelah operasi dalam penerbangan terhenti.
- Penyebaran massal pembatasan — pisahkan tumpukan besar sehingga Anda tidak membuat ratusan tabel/GSI sekaligus, atau tambahkan pengurutan
DependsOnsecara eksplisit sehingga tidak semuanya diaktifkan secara bersamaan. - Periksa kuota layanan Anda — jika Anda mendekati batas tabel per akun, mintalah peningkatan kuota dalam Service Quotas daripada mencoba lagi selamanya.
- Tambahkan GSI satu per satu — Anda hanya dapat membuat atau menghapus satu indeks sekunder global per operasi
UpdateTable, jadi buat serial perubahan indeks dan tunggu setiap pengisian ulang.
FAQ
Bagaimana cara memperbaiki LimitExceededException di DynamoDB? Berhenti mengeluarkan operasi bidang kendali (perubahan CreateTable/UpdateTable/DeleteTable/index) secara paralel. Tunggu hingga setiap tabel dan indeks mencapai ACTIVE sebelum perubahan berikutnya, pertahankan jumlah tabel dalam CREATING/UPDATING/DELETING di bawah batas akun, dan coba lagi dengan backoff eksponensial.
Apakah LimitExceededException merupakan kesalahan pembatasan? Ini adalah kesalahan konkurensi bidang kontrol/limit, bukan pembatasan bidang data. Pembatasan bidang data muncul sebagai ProvisionedThroughputExceededException, ThrottlingException, atau RequestLimitExceeded.
Arahkan DynoTable ke Local
DynoTable adalah klien bidang data — GetItem, Query, dan Scan tidak menggunakan
anggaran konkurensi bidang kendali menjaga kesalahan ini. Jika skrip penerapan berhasil
LimitExceededException saat membuat tabel, gunakan DynoTable untuk menelusuri tabel
yang sudah mencapai ACTIVE dan memvalidasi skema dari Pengaturan tabel sementara
IaC Anda mencoba lagi. Untuk tumpukan lokal, jalankan DynamoDB Lokal dengan -sharedDb dan
terhubung melalui profil Lokal (Menjalankan DynamoDB Lokal) jadi
Anda dapat memeriksa penerapan sebagian tanpa menunggu setiap GSI selesai di AWS.
Perencana desain tabel tunggal membantu membuat sketsa
bentuk tabel sebelum Anda mengaktifkan CreateTable lain di akun sibuk.
Kesalahan terkait
- ResourceInUseException — operasi pada tabel yang sudah dimodifikasi atau sudah ada.
- ThrottlingException — pembatasan kecepatan data/control-plane.
- RequestLimitExceeded — batas tingkat permintaan akun.
- Pelajari: migrasi DynamoDB
Sumber
Penanganan kesalahan dengan DynamoDB — Panduan Pengembang Amazon DynamoDB (diverifikasi 13-07-2026)
UpdateTable — Referensi Amazon DynamoDB API (diverifikasi 13-07-2026)
Kuota di Amazon DynamoDB — Panduan Pengembang Amazon DynamoDB (diverifikasi 13-07-2026)