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 regions

Mengapa itu terjadi

  • Tabel replika tidak kosongCreateGlobalTable/UpdateGlobalTable API 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

  1. 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.
  2. Periksa status saat ini dengan DescribeTable per wilayah (Saat Ini) atau DescribeGlobalTableSettings (API khusus Lawas) dan perbaiki penyimpangan masing-masing dengan UpdateTable atau UpdateGlobalTableSettings.
  3. Upgrade Legacy → Current dengan sengaja melalui alur Update version konsol — memerlukan izin dynamodb:UpdateGlobalTableversion di setiap Wilayah replika, dan replika tetap melayani baca dan tulis selama upgrade.
  4. Perbarui CLI/SDK AWS Anda ke rilis terbaru sebelum mengelola replika versi saat ini.
  5. 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.
  6. Aktifkan streaming sebelum pembuatan lama. Setiap replika lama memerlukan Streaming DynamoDB dengan gambar baru dan lama — verifikasi dengan DescribeTable di 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

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.