GlobalTableNotFoundException

TL;DR — DescribeGlobalTable / UpdateGlobalTable yalnızca sürüm 2017.11.29 (Eski) global tablolarını görür. Sürüm 2019.11.21 (Güncel) üzerine kurulmuş bir global tablo — ki kullanmanız gereken budur — DescribeTable / UpdateTable aracılığıyla çoğaltmalı normal bir tablo olarak yönetilir ve eski API'ler onu var olmuyor olarak bildirir. Tablonun gittiğini varsaymadan önce hangi sürümde olduğunuzu kontrol edin.

Ne anlama gelir

GlobalTableNotFoundException: The specified global table does not exist.

# what the engine actually returns, reproduced against the live DynamoDB service:
GlobalTableNotFoundException: Global table not found: Global table with name: 'no-such-global-table' does not exist.

DynamoDB'nin, iki ayrık API yüzeyine sahip iki global-tablo nesli vardır. Eski (2017.11.29) nesil, DescribeGlobalTable, UpdateGlobalTable ve UpdateGlobalTableSettings'in üzerinde çalıştığı adlandırılmış bir "global tablo" nesnesi kaydeder. Güncel (2019.11.21) neslin böyle bir nesnesi yoktur — çoğaltmalar tablonun kendisinde yaşar — bu yüzden tablonuz mükemmel biçimde çoğaltılsa bile o eski çağrılar bu istisnayla yanıt verir.

Neden olur

  • Tablo güncel sürüm (2019.11.21) bir global tablodur — açık ara olağan neden: eski API onu basitçe indekslemez.
  • O adla hiç global tablo oluşturulmadı — tablo var ama çoğaltması yok ya da çoğaltma kurulumu daha önce başarısız oldu.
  • Yanlış Bölge ya da ad yazım hatası — eski global-tablo kaydı tam adla aranır.

Nasıl düzeltilir

  1. Sürümü belirleyin:

    aws dynamodb describe-table --table-name orders \
      --query 'Table.GlobalTableVersion'
    # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIs
  2. Güncel sürüm çoğaltmalarını UpdateTable aracılığıyla yönetin:

    aws dynamodb update-table --table-name orders \
      --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'

    ve onları describe-global-table yerine describe-table (Replicas alanı) ile inceleyin.

  3. Eski araçlarda mısınız? Gerçekten 2017.11.29 global tabloları işletiyorsanız, kaydın adını ve Bölgesini doğrulayın — ve AWS'nin esneklik ve daha düşük çoğaltılmış-yazma maliyeti için önerdiği 2019.11.21'e yükseltmeyi planlayın.

  4. Sıfırdan oluşturma: tabloyu oluşturun, sonra UpdateTable aracılığıyla çoğaltmalar ekleyin — yeni kodda CreateGlobalTable'a (eski) uzanmayın.

Çoğaltma sağlığını Bölgeler arasında kontrol etmek, tablolar yan yanayken daha hızlıdır — DynoTable masaüstü uygulaması tek bir pencereden her Bölgeye bağlanır ve DynamoDB fiyatlandırma hesaplayıcısı bir çoğaltma eklemeden önce çoğaltılmış yazma maliyetlerini tahmin eder.

DynoTable'da boyutu kontrol edin

DynoTable her Bölgeye tek pencereden bağlanır — ⌘P ile geçiş yapın ve kopyaların mevcut olup olmadığını ve veri sunup sunmadığını görmek için her profilde aynı tablo adını açın. Tablo kenar çubuğu, eski global tablo 15'leri çağırmadan çoğaltma meta verilerini gösterir.

Bir kopya eklemeden önce, çoğaltılmış yazma maliyetini pricing calculator ile tahmin edin. Ayarlar → Profiller altında her Bölgeyi yapılandırın ve UpdateTable replika güncellemelerini çalıştırmadan önce Bağlantıyı Test Et komutunu çalıştırın. Bkz. Connect to AWS ve Install. Eski takımlar DescribeGlobalTable'i çağırıyorsa, önce DescribeTable'de GlobalTableVersion'yi işaretleyin — Geçerli sürüm tabloları 2019.11.21 değerini döndürür ve UpdateTable aracılığıyla yönetilmelidir. Çoğaltma sağlıklı olsa bile eski 16'lar onları göremez. Geçerli sürüm tabloları için CreateGlobalTable yerine ReplicaUpdates ile UpdateTable'yı çağıracak şekilde aracı yükseltin.

Kaynaklar

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.