Versi tabel global DynamoDB tidak cocok
TL;DR — DynamoDB memiliki dua versi tabel global: 2017.11.29 (Legacy) dan 2019.11.21 (Saat Ini). Membuat tabel global lama atau menambahkan replika gagal ketika tabel anggota tidak memenuhi persyaratan — replika lama harus kosong, berbagi nama, skema kunci, dan GSI yang sama, mengaktifkan Aliran DynamoDB (gambar baru dan lama), dan menggunakan kapasitas tulis yang konsisten — dan mengarahkan API satu versi ke tabel versi lain langsung gagal. Selaraskan konfigurasi setiap replika (atau tingkatkan ke versi Saat Ini), lalu coba lagi.
Apa artinya
ValidationException: Cannot create a global table from a table with ...
ValidationException: ... replicas must have the same ... across all regionsMengapa itu terjadi
- Tabel replika tidak kosong —
CreateGlobalTable/UpdateGlobalTableAPI lama mengharuskan setiap tabel anggota tidak berisi data. - Ketidakcocokan skema nama atau kunci — semua replika harus menggunakan nama tabel dan kunci utama yang sama.
- GSIs tidak cocok — indeks sekunder global harus cocok dengan seluruh replika dalam nama dan kunci hash/sort.
- Streaming tidak aktif atau jenis tampilan salah — setiap replika lama memerlukan Streaming DynamoDB yang diaktifkan dengan gambar baru dan gambar lama dari item tersebut.
- Kapasitas tulis tidak konsisten — AWS memerlukan pengaturan kapasitas tulis yang diatur secara konsisten di seluruh tabel replika dan indeks sekunder yang cocok (disarankan penskalaan otomatis, atau unit kapasitas tulis yang direplikasi sama).
- Mencampur kedua versi — mengarahkan API lama (
DescribeGlobalTable,UpdateGlobalTable) ke tabel Versi saat ini akan mengembalikan GlobalTableNotFoundException alih-alih berfungsi. - CLI/SDK AWS yang kedaluwarsa — rilis yang mendahului model 21.11.2019 tidak dapat mendorong manajemen replika berbasis
UpdateTable.
Bagaimana cara memperbaikinya
- Standarisasi tabel anggota di semua wilayah — nama dan skema kunci yang sama, GSI yang cocok, streaming diaktifkan dengan gambar baru + lama, dan kapasitas tulis target /auto-scaling yang konsisten.
- Periksa status saat ini dengan
DescribeTableper wilayah (Saat Ini) atauDescribeGlobalTableSettings(API khusus Lawas) dan perbaiki penyimpangan masing-masing denganUpdateTableatauUpdateGlobalTableSettings. - Upgrade Legacy → Current dengan sengaja melalui alur Update version konsol — memerlukan izin
dynamodb:UpdateGlobalTableversiondi setiap Wilayah replika, dan replika tetap melayani baca dan tulis selama upgrade. - Perbarui CLI/SDK AWS Anda ke rilis terbaru sebelum mengelola replika versi saat ini.
- Tambahkan replika ke tabel dasar yang kompatibel — Replika versi saat ini ditambahkan dengan
UpdateTable(tabel mungkin sudah berisi data, namun Wilayah target tidak boleh memiliki tabel dengan nama tersebut); replika lama harus dimulai dengan kosong. - Aktifkan streaming sebelum pembuatan lama. Setiap replika lama memerlukan Streaming DynamoDB dengan gambar baru dan lama — verifikasi dengan
DescribeTabledi setiap Wilayah.
Ukur di DynoTable
Bandingkan skema, GSI, dan pengaturan streaming di seluruh Wilayah sebelum Anda membuat tabel global — beralih dengan ⌘P, buka setiap replika dengan ⌘K, dan perluas panel Indexes dan Stream secara berdampingan.
Perkirakan biaya penulisan yang direplikasi dengan kalkulator harga. Konfigurasikan setiap Wilayah di bawah Pengaturan → Profil dengan Uji Koneksi. Lihat Menghubungkan ke AWS dan Instal.
Sumber
- Versi tabel global DynamoDB (diverifikasi 13-07-2026)
- CreateGlobalTable — Referensi Amazon DynamoDB API (diverifikasi 13-07-2026)
Kesalahan terkait
- ResourceInUseException — replika table/region sudah digunakan.
- ReplicaNotFoundException — wilayah replika yang direferensikan tidak ada.
- Pelajari: tabel global DynamoDB
Referensi
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.