Kesalahan DynamoDB

Kesalahan DynamoDB Umum (dan Cara Memperbaikinya)

Kesalahan DynamoDB yang paling sering dialami developer — masing-masing dengan artinya, penyebabnya, dan solusi tepatnya.

Kesalahan validasi & ekspresi (52)

DynamoDB ValidationException — Penyebab & Cara Memperbaiki
DynamoDB ValidationException berarti request ditolak karena salah bentuk sebelum berjalan. Pemicu umumnya, pesan yang harus dibaca, dan perbaikannya.
"Query condition missed key schema element" — Perbaikan DynamoDB
Query condition missed key schema element berarti KeyConditionExpression Anda tak punya kesetaraan pada partition key. Kueri sebuah GSI atau pakai Scan.
"The provided key element does not match the schema" — Perbaikan DynamoDB
ValidationException ini berarti nama atau tipe atribut kunci tak cocok dengan KeySchema tabel Anda — sort key hilang, atau number dikirim sebagai string.
"Kesalahan Sintaks UpdateExpression Tidak Valid" — Perbaikan DynamoDB
UpdateExpression yang Tidak Valid biasanya merupakan kata kunci khusus yang digunakan mentah, atau pengganti #name atau :value yang hilang. Alias mencadangkan nama dengan ExpressionAttributeNames dan mengikat nilai dengan ExpressionAttributeValues.
"ExpressionAttributeValues contains invalid value" — Perbaikan DynamoDB
ValidationException ini berarti nilai dalam ExpressionAttributeValues kosong, tipenya salah, atau merujuk placeholder yang tidak pernah Anda definisikan.
"Item size has exceeded the maximum allowed size" — Perbaikan DynamoDB
Item DynamoDB dibatasi 400 KB. ValidationException ini berarti item Anda melewati batas — berikut cara memeriksa ukurannya dan kembali ke bawah batas.
DynamoDB ConditionalCheckFailedException — Penyebab & Perbaikan
ConditionalCheckFailedException berarti ConditionExpression Anda bernilai false, jadi DynamoDB menolak penulisannya dan membiarkan item tak berubah.
DynamoDB TransactionCanceledException — Membaca Alasan Pembatalannya
TransactionCanceledException berarti satu item gagal dan seluruh transaksi di-rollback. Baca array CancellationReasons untuk tahu item mana dan mengapa.
DynamoDB SerializationException — Penyebab & Perbaikan
SerializationException berarti JSON tak cocok format wire DynamoDB — biasanya number dibungkus jadi string. Perbaiki pembungkus AttributeValue bertipe.
"Supplied AttributeValue is empty" — Perbaikan DynamoDB
ValidationException ini berarti sebuah AttributeValue tak memuat nilai bertipe — set kosong, string kunci kosong, atau field undefined. Hapus atau beri nilai.
"One or more parameter values were invalid" — Perbaikan DynamoDB
ValidationException ini berarti satu nilai melanggar aturan DynamoDB — set kosong, kunci kosong, atau tipe tak cocok. Pesannya menyebut parameternya.
"Invalid size for parameter" — Perbaikan Write Vektor DynamoDB
DynamoDB menolak write vektor ketika jumlah dimensi embedding tidak cocok dengan vector index. Pesannya menyebut atributnya dan kedua ukurannya.
"Search vector contains invalid values" — Perbaikan DynamoDB
SearchVectors menolak query vector yang dibungkus tipe L DynamoDB atau yang membawa nilai non-float. Parameternya adalah array JSON telanjang, bukan atribut List.
"SearchConditionExpression must be provided" — Perbaikan DynamoDB
Vector index dengan key search-schema HASH mengharuskan setiap panggilan SearchVectors mematok tepat satu nilai partisi. Filternya berhenti menjadi opsional saat indeks dibuat.
"Query key condition not supported" — Perbaikan DynamoDB
DynamoDB menolak KeyConditionExpression dengan operator yang dilarang key schema — partition key hanya menerima kesamaan. Berikut operator yang diizinkan.
"Attribute name is a reserved keyword" — Perbaikan DynamoDB
DynamoDB menolak reserved word seperti status, name, size sebagai nama atribut mentah. Beri alias placeholder ExpressionAttributeNames seperti #status.
"Float types are not supported" — Perbaikan boto3 DynamoDB
boto3 melempar TypeError "Float types are not supported" karena DynamoDB menyimpan desimal eksak. Konversikan float ke decimal.Decimal lewat bentuk string.
"Number overflow" — Perbaikan Batas Ukuran Number DynamoDB
Tipe N DynamoDB menampung 38 digit presisi dan magnitudo hingga ~9.9E+125. Lewat itu, simpan ID besar dan nilai presisi tinggi sebagai string.
"The provided expression refers to an attribute that does not exist" — Perbaikan
UpdateExpression atau ConditionExpression Anda merujuk path yang tak ada pada item — map induk hilang, salah ketik, atau matematika pada atribut hilang.
"Daftar kunci item yang disediakan berisi duplikat" (BatchGetItem) — Perbaiki
DynamoDB menolak BatchGetItem ketika daftar Kunci untuk tabel mengulangi kunci utama. Seluruh batch gagal, jadi hapus duplikat kunci sebelum mengirim.
"Provided list of item keys contains duplicates" (BatchWriteItem) — Perbaikan
DynamoDB menolak BatchWriteItem ketika dua aksi menyasar primary key yang sama. Satu batch tak boleh menyentuh satu item dua kali, jadi leburkan duplikatnya.
"Ukuran ekspresi telah melampaui ukuran maksimum yang diperbolehkan" (4 KB) — Perbaiki
DynamoDB membatasi setiap string ekspresi pada 4 KB. Masa lalu FilterExpression, ConditionExpression, atau UpdateExpression yang ditolak. Bagaimana cara mengecilkannya.
"Ukuran gabungan semua kunci rentang telah melampaui batas ukuran" — Perbaiki
DynamoDB membatasi kunci pengurutan pada 1024 byte dan kunci partisi pada 2048 byte. Kecilkan nilai atribut kunci atau hash pengidentifikasi panjang sebelum menyimpannya.
"Ekspresi Filter hanya dapat berisi atribut non-kunci utama" — Perbaiki
DynamoDB menolak FilterExpression yang memberi nama partisi atau kunci pengurutan. Kunci termasuk dalam KeyConditionExpression — berikut cara menyusun ulang kueri.
Batas 100 Item BatchGetItem DynamoDB — Perbaikan "Too Many Items"
BatchGetItem menerima maksimal 100 item (dan 16 MB) per panggilan. Minta lebih banyak dan DynamoDB menolak seluruh permintaan. Batasnya, ditambah loop chunking.
"Terlalu banyak item yang diminta untuk panggilan BatchWriteItem" — Perbaiki
BatchWriteItem menerima paling banyak 25 tindakan put atau delete per panggilan. Kirim lebih banyak dan DynamoDB menolak seluruh permintaan dengan ValidationException.
DynamoDB "Can Not Use Both Expression and Non-Expression Parameters" — Perbaiki
DynamoDB menolak permintaan yang menggabungkan parameter lama seperti KeyConditions dengan KeyConditionExpression. Hapus parameter lama dan gunakan ekspresi.
"Local secondary indexes must be specified at table creation" — Perbaiki
Indeks sekunder lokal hanya dapat ditentukan saat tabel dibuat, tidak pernah ditambahkan nanti. Mengapa kendala tersebut ada dan bagaimana cara mengatasinya.
DynamoDB TransactionCanceledException — Perbaikan ConditionalCheckFailed
TransactWriteItems yang dibatalkan dengan ConditionalCheckFailed berarti kondisi satu item gagal dan menggulung balik seluruh transaksi. Cara menemukannya.
"Value provided in ExpressionAttributeNames unused in expressions" — Perbaikan
DynamoDB menolak request dengan alias ExpressionAttributeNames yang tak dirujuk expression mana pun. Hapus alias itu, atau perbaiki expression-nya.
"Value provided in ExpressionAttributeValues unused in expressions" — Perbaikan
DynamoDB menolak request yang mendeklarasikan placeholder ExpressionAttributeValues tak terpakai. Hapus nilai yatim itu atau perbaiki expression-nya.
Impor DynamoDB S3 Gagal — Perbaikan Format Tidak Valid
Impor DynamoDB dari S3 gagal ketika objek tidak cocok dengan InputFormat atau kompresi yang dideklarasikan, atau ketika item tidak memiliki kunci utama.
"Size of hashkey has exceeded the maximum size limit of 2048 bytes" — Perbaiki
Kunci partisi DynamoDB maksimal 2048 byte dan kunci pengurutan 1024 byte. Jika terlampaui maka penulisan akan ditolak — inilah cara mendesain ulang kuncinya.
DynamoDB GSI "Does Not Project" Atribut — Perbaikan
GSI hanya mengembalikan atribut kunci ditambah proyeksinya, jadi mengkuerinya untuk atribut lain gagal. Ubah proyeksi atau permintaannya — berikut caranya.
"Level Bersarang telah melampaui batas yang didukung" — Perbaikan 32 Level DynamoDB
DynamoDB membatasi peta dan daftar yang bertumpuk pada 32 level — dokumen yang lebih dalam menampilkan "Level Nesting telah melampaui batas yang didukung". Ratakan peta bertingkat dan daftar di bawah 32 level.
"Segment must be less than TotalSegments" — Perbaikan Pemindaian Paralel
Pemindaian Paralel memerlukan 0 ≤ Segmen < TotalSegments, dan keduanya harus dikirim bersamaan. Berikan setiap pekerja Segmen yang berbeda dari 0 hingga TotalSegments − 1.
DynamoDB "Cannot Specify AttributesToGet When Select Is COUNT" — Perbaiki
DynamoDB menolak Kueri atau Pemindaian yang menyetel Select=COUNT dengan ProjectionExpression atau AttributesToGet. COUNT mengembalikan angka, jadi hilangkan proyeksinya.
Streaming DynamoDB "ARN yang disediakan tidak valid" — Perbaiki
Aliran DynamoDB menolak aliran ARN yang salah format atau placeholder seperti /stream/latest. Teruskan LastStreamArn asli yang dikembalikan oleh DescriptionTable, kata demi kata.
"Permintaan transaksi tidak dapat mencakup beberapa operasi pada satu item" — Fix
DynamoDB menolak panggilan TransactWriteItems ketika dua tindakan menargetkan kunci utama yang sama. Perkecil duplikatnya, atau pindahkan satu ke penulisan terpisah.
DynamoDB TransactWriteItems Batas 100 Tindakan — Perbaiki
TransactWriteItems dibatasi hingga 100 tindakan; melewati itu Anda mendapatkan ValidationException pada panjang TransactItems. Pisahkan, atau gunakan BatchWriteItem dengan harga 25 per panggilan.
DynamoDB TTL Attribute Harus Berupa Number — Penyebab & Perbaikan
TTL DynamoDB hanya mengedaluwarsakan item yang atribut TTL-nya Number dalam Unix epoch seconds. String, milidetik, atau atribut hilang tak kedaluwarsa.
DynamoDB "Ekspresi tidak boleh kosong" — Perbaiki
DynamoDB menolak parameter ekspresi yang diteruskan sebagai string kosong. Hilangkan FilterExpression atau UpdateExpression sepenuhnya jika Anda tidak punya apa pun untuk dikirim.
"ExpressionAttributeNames contains invalid key: Syntax error" — Perbaikan
DynamoDB menolak map ExpressionAttributeNames yang kunci placeholder-nya melanggar sintaks `#name`. Aturan penamaannya, dan di mana nama aslinya berada.
"Two document paths overlap with each other" (DynamoDB) — Perbaikan
DynamoDB menolak UpdateExpression yang menyetel path induk sekaligus path bersarang di dalamnya. Lipat anaknya ke induk, atau pecah jadi dua update.
"The document path provided in the update expression is invalid" — Perbaikan
Document path tidak valid berarti parent dari atribut bersarang Anda tidak ada atau bukan sebuah map. DynamoDB tak pernah membuatnya otomatis, jadi buat dulu.
"Operan dalam ekspresi pembaruan memiliki tipe data yang salah" — Perbaiki
Jenis operan pembaruan tidak cocok dengan yang disimpan — ADD pada non-angka, list_append pada non-daftar, kumpulan tidak cocok.
DynamoDB IdempotentParameterMismatchException — Penyebab & Perbaikan
TransactWriteItems menolak retry yang memakai ulang ClientRequestToken dengan payload berbeda di dalam jendela idempotensi 10 menit. Berikut perbaikannya.
"Pembacaan yang konsisten tidak didukung pada indeks sekunder global" — Perbaiki
Meminta GSI dengan ConsistentRead true akan memunculkan ValidationException. GSI pada akhirnya hanya melayani pembacaan yang konsisten. Jatuhkan bendera atau baca tabel dasar.
DynamoDB DuplicateItemException (PartiQL INSERT) — Penyebab & Perbaikan
PartiQL INSERT gagal dengan DuplicateItemException ketika primary key sudah ada. Tidak seperti PutItem, ia tak pernah menimpa, jadi pakai UPDATE atau PutItem.
"Tidak terduga dari sumber" (DynamoDB PartiQL) — Perbaiki
PartiQL memunculkan "Tidak terduga dari sumber" ketika nama tabel dengan tanda hubung atau karakter khusus lainnya tidak diberi tanda kutip ganda di FROM. Satu pasangan kutipan memperbaikinya.
boto3 "Parameter validation failed" (ParamValidationError) — Perbaikan
botocore melempar ParamValidationError sebelum request sampai ke DynamoDB — biasanya tipe client dan resource tertukar. Berikut cara memperbaikinya.
"Kunci awal yang diberikan tidak valid" (DynamoDB) — Perbaiki
DynamoDB menolak ExclusiveStartKey yang tidak cocok dengan skema kunci tabel atau indeks yang Anda buat paginasinya. Berikan LastEvaluatedKey kembali kata demi kata.

Kesalahan throughput & throttling (11)

DynamoDB ProvisionedThroughputExceededException — Penyebab & Perbaikan
DynamoDB melempar ProvisionedThroughputExceededException saat baca/tulis melampaui kapasitas provisioned tabel atau GSI. Apa yang habis dan perbaikannya.
DynamoDB ThrottlingException — Penyebab & Perbaikan
ThrottlingException berarti tingkat permintaan Anda melewati batas, sering kali pada panggilan sarana kontrol seperti CreateTable. Coba lagi dengan kemunduran eksponensial dan perlambat.
DynamoDB ItemCollectionSizeLimitExceededException — Penyebab & Perbaikan
Kesalahan ini hanya mengenai tabel dengan Indeks Sekunder Lokal — kumpulan item (semua item berbagi satu kunci partisi) melebihi 10 GB.
DynamoDB RequestLimitExceeded — Penyebab & Perbaikan
RequestLimitExceeded adalah batas laju tingkat-akun — on-demand secara default 40.000 read dan write request unit per detik. Naikkan lewat Service Quotas.
DynamoDB TransactionConflictException — Penyebab & Perbaikan
TransactionConflictException berarti transaksi lain sudah menyentuh item yang sama. Ini bersifat sementara — coba lagi dengan backoff dan jaga agar transaksi tetap kecil.
"Provisioned throughput decreases are limited within a given day" — Perbaikan
DynamoDB membatasi berapa kali Anda bisa menurunkan provisioned capacity tabel per hari UTC. Hitungan kuotanya dan cara menyiasati error UpdateTable ini.
DynamoDB On-Demand Throughput Exceeded — Penyebab & Perbaikan
Tabel on-demand tetap bisa throttle — max throughput yang diatur, lonjakan lewat dua kali puncak sebelumnya, atau kuota tabel. Cara menaikkan batasnya.
DynamoDB Dibatasi Meskipun Kapasitasnya — Perbaikan Partisi Panas
DynamoDB membatasi satu kunci partisi panas bahkan dengan kapasitas tabel cadangan, karena setiap partisi fisik dibatasi pada 3.000 RCU dan 1.000 WCU.
DynamoDB TransactionInProgressException — Penyebab & Perbaikan
Percobaan ulang TransactWriteItems menggunakan kembali ClientRequestToken dari upaya yang masih berjalan. Terus coba ulang dengan backoff dan sesuaikan batas waktu lebih dari 5 detik.
DynamoDB InternalServerError (HTTP 500) — Apa yang Harus Dilakukan
HTTP 500 dari DynamoDB adalah kesalahan sisi layanan sementara, aman untuk dicoba lagi — namun kegagalan penulisan mungkin masih terjadi. Coba lagi dengan kemunduran; konfirmasikan penulisan sebelum mengasumsikan kegagalan.
DynamoDB ReplicationWriteConflictException — Penyebab & Perbaikan
Pada tabel global multi-Wilayah yang sangat konsisten, penulisan ditolak ketika Wilayah lain memodifikasi item yang sama. Ini dapat dicoba lagi — begini caranya.

Kesalahan tabel & sumber daya (19)

DynamoDB ResourceNotFoundException — Penyebab & Perbaikan
ResourceNotFoundException berarti tabel atau indeks tidak ada di wilayah dan akun yang Anda panggil. Periksa nama, wilayah, dan kredensial.
DynamoDB ResourceInUseException ("Tabel sudah ada") — Perbaiki
ResourceInUseException berarti tabel sudah ada atau masih MEMBUAT, MEMPERBARUI, atau MENGHAPUS. Periksa statusnya dengan DescriptionTable sebelum Anda bertindak.
DynamoDB LimitExceededException — Penyebab & Perbaikan
LimitExceededException berarti terlalu banyak panggilan CreateTable, UpdateTable, atau DeleteTable secara bersamaan, atau batas akun tercapai. Buat serial panggilan sarana kontrol dan tetap sesuai kuota akun.
"Tabel tidak memiliki indeks yang ditentukan" — Perbaiki
DynamoDB menolak panggilan karena IndexName tidak ada pada tabel tersebut, salah eja, atau GSI belum AKTIF. Konfirmasikan IndexName pada tabel dan GSI AKTIF.
DynamoDB BackupNotFoundException — Penyebab & Perbaikan
DynamoDB BackupNotFoundException berarti tidak ada cadangan yang cocok dengan BackupArn yang Anda lewati. Biasanya ARN salah, cadangan terhapus atau kedaluwarsa, atau wilayah yang salah.
DynamoDB ReplicaNotFoundException — Penyebab & Perbaikan
ReplicaNotFoundException berarti replika Wilayah yang Anda perbarui tidak ada dalam tabel global — Wilayah yang salah, replika yang dihapus, atau perlombaan.
"Mencoba memodifikasi GSI yang sedang dibuat" — Perbaiki
DynamoDB memblokir perubahan struktural sementara indeks sekunder global masih dibangun. Tunggu hingga IndexStatus mencapai ACTIVE, atau urutkan perubahan Anda.
DynamoDB ExportTableToPointInTime — perbaiki PITR belum aktif
ExportTableToPointInTime butuh point-in-time recovery di tabel sumber, atau melempar PointInTimeRecoveryUnavailableException. Perbaikan satu perintah.
Ketidakcocokan Versi Tabel Global DynamoDB — Penyebab & Perbaikan
Pembuatan tabel global gagal ketika replika tidak berbaris — tabel tidak kosong, skema kunci atau GSI tidak cocok, atau campuran versi API 2017 dan 2019.
Koleksi Item DynamoDB LSI Batas 10 GB — Penyebab & Perbaikan
Tabel dengan Indeks Sekunder Lokal membatasi setiap koleksi item sebesar 10 GB — melewatinya dan penulisan gagal. Pantau ItemCollectionMetrics dan shard ulang.
DynamoDB Tidak Dapat Mengakses Streaming — Perbaikan Streaming Tidak Diaktifkan
Konsumen membaca aliran DynamoDB di tabel dengan Aliran dimatikan, atau menggunakan ARN basi. Aktifkan Streams dan arahkan ke TerbaruStreamArn saat ini.
DynamoDB TableAlreadyExistsException / "Tabel sudah ada" — Perbaiki
Memulihkan lemparan TableAlreadyExistsException; Laporan CreateTable dan ImportTable ResourceInUseException. Nama target sudah dipakai, jadi pilih yang baru.
DynamoDB Streams ExpiredIteratorException — Penyebab & Perbaikan
Shard iterator DynamoDB Streams valid selama 15 menit. Pakai setelahnya, GetRecords melempar ExpiredIteratorException. Cara lanjut tanpa kehilangan data.
Aliran DynamoDB TrimmedDataAccessException — Penyebab & Perbaikan
Catatan aliran aktif 24 jam, jadi pos pemeriksaan yang lebih tua dari itu memunculkan TrimmedDataAccessException. Lanjutkan dari TRIM_HORIZON dan rekonsiliasi dari tabel.
DynamoDB BackupInUseException — Penyebab & Perbaikan
DynamoDB BackupInUseException berarti operasi pencadangan lain pada tabel yang sama masih berjalan. Tunggu hingga selesai, lalu coba lagi panggilan Anda.
DynamoDB InvalidRestoreTimeException — Penyebab & Perbaikan
InvalidRestoreTimeException berarti RestoreDateTime Anda berada di luar jendela PITR tabel hingga 35 hari. Pilih RestoreDateTime di dalam jendela PITR tabel (hingga 35 hari).
DynamoDB PointInTimeRecoveryUnavailableException — Perbaiki
Anda mencoba pemulihan titik waktu pada tabel yang tidak pernah mengaktifkan PITR. Aktifkan pencadangan berkelanjutan sekarang, dan gunakan pencadangan sesuai permintaan untuk data hari ini.
DynamoDB GlobalTableNotFoundException — Penyebab & Perbaikan
GlobalTableNotFoundException berarti API tabel global lama tidak dapat melihat tabel Anda — biasanya tabel global 2019.11.21 yang dikelola melalui UpdateTable.
Replika DynamoDBAlreadyExistsException — Penyebab & Perbaikan
Anda meminta DynamoDB untuk menambahkan Wilayah replika yang sudah ada di tabel global. Jelaskan grup replikasi terlebih dahulu, dan buat manajemen replika menjadi idempoten.

Kesalahan autentikasi & konfigurasi (13)

"not authorized to perform dynamodb:..." — Perbaikan AccessDeniedException
DynamoDB AccessDeniedException berarti identitas IAM Anda tidak diotorisasi untuk tindakan yang disebutkan dalam pesan. Cara membacanya dan memperbaiki kebijakan IAM.
"ConfigError: Wilayah tidak ada di konfigurasi" — Perbaikan DynamoDB
SDK AWS tidak dapat menentukan wilayah tujuan pengiriman permintaan DynamoDB. Atur di klien, melalui AWS_REGION, atau di konfigurasi AWS Anda — inilah setiap opsinya.
"Token keamanan yang disertakan dalam permintaan tidak valid" — Perbaikan DynamoDB
UnrecognizedClientException ini berarti kredensial AWS Anda salah, kedaluwarsa, atau tidak diambil. Periksa kunci akses, masa berlaku token sesi, dan profil mana yang dimuat SDK.
DynamoDB IncompleteSignatureException — Penyebab & Perbaikan
IncompleteSignatureException berarti tanda tangan SigV4 salah formatnya — biasanya penandatanganan dilakukan dengan tangan, atau proksi yang menulis ulang header Otorisasi.
"Token keamanan yang disertakan dalam permintaan telah kedaluwarsa" — Perbaikan DynamoDB
ExpiredTokenException berarti waktu kredensial STS, SSO, atau peran yang Anda ambil telah habis. Jalankan kembali aws sso login dan hapus semua AWS_SESSION_TOKEN yang basi.
"Tidak dapat menemukan kredensial" (boto3 / DynamoDB) — Perbaiki
boto3 memunculkan NoCredentialsError ketika tidak ada apa pun dalam rantai penyedianya yang memasok kredensial AWS — tidak ada env vars, tidak ada profil, tidak ada peran instance.
"Tanda tangan permintaan yang kami hitung tidak cocok" — Perbaiki
DynamoDB mengembalikan InvalidSignatureException, bukan SignatureDoesNotMatch, ketika penandatanganan SigV4 gagal. Biasanya kunci rahasia salah atau jam miring pada mesin Anda.
"Kredensial harus dicakup ke wilayah yang valid" — Perbaikan DynamoDB
Kesalahan SigV4 ini berarti wilayah dalam cakupan kredensial Anda tidak cocok dengan wilayah yang sebenarnya Anda panggil. Cara menyejajarkan wilayah klien dan titik akhir.
"InvalidSignatureException: Tanda tangan kedaluwarsa" — Perbaikan DynamoDB
DynamoDB menolak permintaan yang stempel waktunya ditandatangani lebih dari lima menit dari waktu server AWS. Hampir selalu jam klien miring — berikut cara memperbaikinya.
"Token Otentikasi Hilang" — Perbaikan Kesalahan DynamoDB
MissingAuthenticationTokenException dari DynamoDB berarti URL atau jalur akhir yang salah, atau permintaan yang tidak pernah ditandatangani. Periksa titik akhir URL, jalur, dan apakah permintaan tersebut ditandatangani SigV4.
"Tidak dapat memuat kredensial dari penyedia mana pun" (DynamoDB) — Perbaiki
AWS SDK untuk JavaScript v3 memunculkan CredentialsProviderError ketika seluruh rantai kredensialnya kosong. Bagaimana rantai tersebut terselesaikan, dan setiap perbaikannya.
"The SSO session associated with this profile has expired" — Perbaiki
Token Pusat Identitas IAM yang kedaluwarsa memutus panggilan AWS CLI dan SDK ke DynamoDB. Jalankan aws sso login, dan hapus ~/.aws/sso/cache yang basi jika itu tidak cukup.
"The config profile could not be found" — Perbaikan AWS CLI & boto3
CLI AWS dan boto3 memunculkan ProfileNotFound ketika profil bernama hilang dari ~/.aws/config. Tiga penyebab umum dan solusi untuk masing-masing penyebab.

Kesalahan DynamoDB Local & penyiapan (8)

"Tidak dapat memulai proses Lokal DynamoDB" — Perbaiki
DynamoDB Lokal gagal diluncurkan — biasanya runtime Java /incompatible hilang, port sudah digunakan, atau jalur instalasi yang buruk. Periksa runtime Java, konflik port, dan jalur instalasi.
"Could not connect to DynamoDB Local" (ECONNREFUSED) — Perbaiki
ECONNREFUSED terhadap DynamoDB Lokal berarti tidak ada yang mendengarkan. Biasanya emulator tidak berjalan, port salah, atau SDK mengenai AWS asli.
"Could not connect to the endpoint URL" (DynamoDB) — Perbaiki
botocore memunculkan EndpointConnectionError ketika tidak dapat mencapai DynamoDB. Biasanya URL titik akhir salah, DynamoDB Lokal tidak berjalan, atau wilayah buruk.
DynamoDB Lokal "Alamat sudah digunakan" (port 8000) — Perbaiki
DynamoDB Lokal menampilkan java.net.BindException ketika sesuatu sudah memiliki port 8000. Cara menemukan prosesnya, mengosongkan port, atau memulai Lokal di port lain.
DynamoDB Lokal "Failed to load native library sqlite4java" — Perbaiki
DynamoDB Lokal mati saat startup dengan UnsatisfiedLinkError untuk sqlite4java, yang disebabkan oleh java.library.path yang salah atau ketidakcocokan arch Apple Silicon.
"Tidak dapat menjalankan permintaan HTTP" (DynamoDB, Java SDK) — Perbaiki
SDK AWS untuk Java gagal dengan Tidak dapat menjalankan permintaan HTTP ketika tidak dapat mencapai titik akhir. DynamoDB Lokal down, port salah, atau jaringan Docker.
"Tidak dapat melakukan operasi pada tabel yang tidak ada" (DynamoDB Lokal) — Perbaiki
DynamoDB Lokal memberikan setiap kredensial dan pasangan wilayah basis datanya sendiri, sehingga tabel yang Anda buat tidak terlihat. Jalankan Lokal dengan -sharedDb untuk membagikannya.
DynamoDB Lokal UnsupportedClassVersionError — Perbaiki
DynamoDB Lokal 2.6.0 dan yang lebih baru memerlukan Java 17 atau lebih baru. Pada JRE yang lebih lama, JVM menolak memuatnya. Instal JDK saat ini atau jalankan image Docker.

Bagaimana semua ini diverifikasi

Dokumentasi memparafrasekan implementasinya sendiri, dan parafrase itu lama-lama menyimpang. Setiap pesan kesalahan yang dikutip di halaman-halaman ini dihasilkan dengan menjalankan panggilan yang gagal terhadap layanan AWS DynamoDB sungguhan lalu mencatat apa yang kembali, karakter demi karakter — bukan disalin dari dokumentasi AWS.

Bukan DynamoDB Local. Emulator memang praktis, tetapi AWS tidak menjanjikan bahwa ia menyusun kata-kata kesalahan seperti layanan sungguhan — dan saat kami memeriksanya, lebih dari separuh pesannya berbeda. Bila perbedaannya layak diketahui, halaman ini menampilkan keduanya.

Satu-satunya suntingan ada pada bagian yang menggambarkan request Anda, bukan kesalahannya: nama tabel, dan salinan payload Anda yang digemakan kembali oleh layanan. Sebuah test menggagalkan build kalau ada halaman yang mengutip string yang tidak pernah dikembalikan layanan — test itu ada karena salah satu halaman kami sendiri mengutip pesan karangan selama berbulan-bulan sebelum ada yang menjalankan kodenya.

58 pesan di 14 tipe exception: 55 ditangkap terhadap layanan sungguhan, 2 ditolak oleh SDK sebelum request dikirim, dan 1 yang justru membahas kata-kata DynamoDB Local sendiri. 6 memuat catatan tentang bagaimana emulator menyusun kata-kata untuk kegagalan yang sama.

Layanan sungguhan
Amazon DynamoDB (live service, us-east-1)
Emulator (sebagai perbandingan)
DynamoDB Local (amazon/dynamodb-local)
JavaScript SDK
@aws-sdk/client-dynamodb 3.1096.0
Python SDK
boto3 1.43.81 on Python 3.14.7
Node.js
v24.20.0

Sumber daya DynamoDB lainnya

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.