ReplikaAlreadyExistsException
TL;DR — Wilayah yang Anda tambahkan sudah ada dalam grup replikasi tabel global. Penambahan tersebut tidak idempoten, sehingga menjalankan kembali permintaan yang sama (coba lagi, penerapan ulang, IaC yang dialihkan) gagal setelah permintaan pertama berhasil. Jelaskan tabelnya terlebih dahulu dan hanya buat replika yang belum ada — atau perlakukan pengecualian ini sebagai "sudah selesai" dan lanjutkan.
Apa artinya
ReplicaAlreadyExistsException: The specified replica is already part of
the global table.Mengapa itu terjadi
- Langkah penyediaan yang dicoba ulang atau diputar ulang — upaya pertama berhasil (mungkin setelah waktu habis menyembunyikan keberhasilan), dan percobaan ulang menambahkan Wilayah yang sama.
- Penyimpangan infrastruktur sebagai kode — replika ditambahkan secara manual di konsol, lalu pipeline IaC mencoba menambahkannya lagi.
- Dua jalur otomatisasi berpacu — penerapan paralel atau tugas perluasan wilayah, keduanya mengirimkan pembuatan replika yang sama.
Bagaimana cara memperbaikinya
Periksa grup replikasi sebelum memutasinya:
aws dynamodb describe-table --table-name orders \ --query 'Table.Replicas[].RegionName'Jadikan operasi idempoten — tangkap pengecualian ini saat membuat (dan
ReplicaNotFoundExceptionsaat menghapus) dan perlakukan sebagai keberhasilan; tabel sudah dalam keadaan yang diinginkan:catch (e) { if (e.name === 'ReplicaAlreadyExistsException') return; // desired state reached throw e; }Rekonsiliasi IaC dengan kenyataan — impor replika yang ditambahkan secara manual ke dalam tumpukan Anda daripada membiarkan setiap penerapan mencoba ulang pembuatannya.
Serialisasi perubahan replika — satu pembaruan replika dalam satu waktu per tabel; tunggu tabel kembali ke
ACTIVE(dan replika baru meninggalkanCREATING) sebelum perubahan berikutnya.Log Wilayah pada setiap upaya pembuatan. Saat IaC diputar ulang, pengecualian akan menamai Wilayah yang sudah ada — impor replika tersebut ke dalam status alih-alih membuatnya ulang.
Cek di DynoTable
Setelah pembuatan replika berhasil, konfirmasikan bahwa replika tersebut menyajikan data — bukan hanya API yang menerimanya. Beralih ke Wilayah replika dengan ⌘P, buka tabel dengan ⌘K, dan jelajahi item. DynoTable menampilkan salinan masing-masing Wilayah secara berdampingan sehingga kegagalan sebagian secara diam-diam terlihat jelas.
Sebelum menambahkan Wilayah lain, perkirakan biaya penulisan ulang yang sedang berlangsung dengan kalkulator harga. Konfigurasikan profil per Wilayah pada Pengaturan → Profil dan jalankan Uji Koneksi pada masing-masing wilayah. Lihat Menghubungkan ke AWS dan Instal. Perlakukan ReplicaAlreadyExistsException sebagai keberhasilan ketika pemutaran ulang IaC Anda mencapai kondisi yang diinginkan — Wilayah sudah melakukan replikasi.
Sumber
- UpdateGlobalTable — Referensi Amazon DynamoDB API (diverifikasi 13-07-2026)
- Tabel global — Panduan Pengembang Amazon DynamoDB (diverifikasi 13-07-2026)
Kesalahan terkait
- ReplicaNotFoundException — bayangan cermin: menghapus Wilayah yang tidak ada dalam grup.
- GlobalTableNotFoundException — kebingungan API lama vs saat ini.
- ResourceInUseException — tabel sedang dalam modifikasi.
- Pelajari: tabel global DynamoDB
Referensi
- UpdateGlobalTable — Referensi Amazon DynamoDB API
- UpdateTable — Referensi Amazon DynamoDB API
- Tabel global — Panduan Pengembang Amazon DynamoDB
Terakhir diverifikasi 13-07-2026 terhadap dokumentasi resmi AWS yang ditautkan di atas.