ReplicaNotFoundException DynamoDB
TL;DR — Replika wilayah yang Anda coba perbarui atau hapus bukan bagian dari tabel global ini. Biasanya nama wilayah yang salah, replika yang telah dihapus, atau panggilan yang memicu pembaruan replika lain yang sedang dijalankan. Konfirmasikan replika saat ini dengan DescribeTable, lalu targetkan replika yang ada.
Apa artinya
ReplicaNotFoundException: The specified replica is no longer part of the global table.Mengapa itu terjadi
- Kode wilayah salah —
us-east-2ketika replika berada dius-east-1, atau wilayah yang tidak pernah ditambahkan. - Replika sudah dihapus — penghapusan terhadap wilayah yang pembaruan sebelumnya telah dihapus dari tabel.
- Perubahan replika yang tumpang tindih —
UpdateTabletidak dapat berjalan saat tabel masihUPDATINGdari perubahan sebelumnya, dan AWS menyarankan untuk mengeluarkan permintaan terpisah untuk setiap replika add/remove; otomatisasi balap dapat menargetkan replika pekerjaan lain yang telah dihapus. - Membingungkan yang utama dengan replika — beroperasi di wilayah yang tidak menampung replika tabel ini.
- Kebingungan versi — menggabungkan API Versi 2017.11.29 (
GlobalTable) lama dan API 2019.11.21 (replika di atas tabel) saat ini.
Bagaimana cara memperbaikinya
- Cantumkan replika saat ini dan statusnya:
aws dynamodb describe-table --table-name <Table> \ --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}" - Targetkan region yang benar-benar ada dalam daftar — salin kode region dengan tepat.
- Ubah replika satu per satu. Tunggu hingga tabel kembali ke
ACTIVE(dan add/remove sebelumnya selesai) sebelum pembaruan berikutnya. - Menghapus replika yang memang sudah tidak ada? Tidak ada yang perlu dilakukan — perlakukan
ReplicaNotFoundExceptionsebagai penghapusan yang sudah terpenuhi. - Gunakan API (2019.11.21) saat ini — kelola replika melalui
ReplicaUpdatespadaUpdateTable, bukan API tabel global lama.
Mengelola tabel lintas wilayah? Aplikasi desktop DynoTable menampilkan replika setiap tabel dan statusnya, sehingga Anda dapat bertindak di wilayah yang benar-benar merupakan bagian dari tabel global.
Cek dulu di DynoTable
Buka tabel di DynoTable dan periksa tabel statistik/daftar replika untuk wilayah yang benar-benar ada sebelum Anda menjalankan UpdateTable ReplicaUpdates. Ganti profil dengan ⌘P sehingga Anda melihat akun yang memiliki tabel global. Ketika wilayah replika hilang, DynoTable mengabaikannya begitu saja — tidak ada kartu konsol basi yang dapat diklik.
Periksa ulang kode wilayah dengan daftar langsung, lalu keluarkan kembali perubahan bidang kontrol dari IaC atau CLI. Untuk pembacaan sehari-hari di seluruh replika, pertahankan satu profil DynoTable per wilayah dan ganti dengan ⌘1–⌘9 alih-alih menebak ARN. Pembuat kueri tetap berada di wilayah profil aktif sehingga Anda tidak pernah mencampur Kueri us-east-1 dengan nama tabel us-west-2.
Sumber
- UpdateGlobalTable — Referensi Amazon DynamoDB API (diverifikasi 13-07-2026)
- Tabel global — Panduan Pengembang Amazon DynamoDB (diverifikasi 13-07-2026)
Kesalahan terkait
- ResourceNotFoundException — tabel itu sendiri tidak ditemukan di region/account.
- ResourceInUseException — perubahan replika bertentangan dengan status tabel saat ini.
- Pelajari: Tabel global
Referensi
- UpdateGlobalTable — Referensi Amazon DynamoDB API
- UpdateTable — Referensi Amazon DynamoDB API
- Tabel global — Panduan Pengembang Amazon DynamoDB
- Menentukan versi tabel global yang Anda gunakan — Panduan Pengembang Amazon DynamoDB
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.