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 salahus-east-2 ketika replika berada di us-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 tindihUpdateTable tidak dapat berjalan saat tabel masih UPDATING dari 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

  1. Cantumkan replika saat ini dan statusnya:
    aws dynamodb describe-table --table-name <Table> \
      --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}"
  2. Targetkan region yang benar-benar ada dalam daftar — salin kode region dengan tepat.
  3. Ubah replika satu per satu. Tunggu hingga tabel kembali ke ACTIVE (dan add/remove sebelumnya selesai) sebelum pembaruan berikutnya.
  4. Menghapus replika yang memang sudah tidak ada? Tidak ada yang perlu dilakukan — perlakukan ReplicaNotFoundException sebagai penghapusan yang sudah terpenuhi.
  5. Gunakan API (2019.11.21) saat ini — kelola replika melalui ReplicaUpdates pada UpdateTable, 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

Kesalahan terkait

Referensi

Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.

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.