PointInTimeRecoveryUnavailableException

TL;DR — Bu kaynak tabloda belirli bir zaman noktasına kurtarma etkinleştirilmemiş, dolayısıyla geri yüklenecek bir sürekli-yedek geçmişi yok. PITR'yi şimdi etkinleştirin (UpdateContinuousBackups) — kurtarma penceresi o andan başlar — ve ondan önceki her şey için, varsa bir talep üzerine yedekten geri yükleyin.

Ne anlama gelir

PointInTimeRecoveryUnavailableException: Point in time recovery has not
yet been enabled for this source table.

# what the engine actually returns, reproduced against Amazon DynamoDB (live service, us-east-1):
PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table 'seo-repro-scratch'

PITR tablo başına isteğe bağlıdır. O açılana kadar, DynamoDB hiçbir sürekli değişiklik geçmişi tutmaz ve RestoreTableToPointInTime'ın yeniden oluşturacağı hiçbir şey yoktur — tablonun ne kadar süredir var olduğundan bağımsız olarak. Bu, geçici bir hata değil, bir yapılandırma boşluğudur; yeniden denemek cevabı değiştirmez.

Neden olur

  • PITR hiç etkinleştirilmedi — açıkça açılmadan bir tablo oluşturulduğunda varsayılan olarak kapalıdır.
  • Yeni bir tablo kontrol listesini kaçırdıPointInTimeRecoverySpecification ayarlamayan bir şablondan kopyalanmış altyapı kodu.
  • Yanlış tablo adıorders'ı geri yüklüyorsunuz ama PITR orders-prod'ta (ya da tam tersi) etkinleştirilmişti ya da tablo başka bir Bölgede yaşıyor.

Nasıl düzeltilir

  1. Tablonun yedekleme durumunu doğrulayın:

    aws dynamodb describe-continuous-backups --table-name orders
    # PointInTimeRecoveryStatus: DISABLED
  2. PITR'yi etkinleştirin — koruma hemen birikmeye başlar ve geri yükleme penceresi şu andan yapılandırılmış kurtarma süresine kadar büyür:

    aws dynamodb update-continuous-backups --table-name orders \
      --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
  3. Bugünün verisini başka bir şekilde kurtarın — PITR geçmişe geriye dönük olarak ulaşamaz. Bir talep üzerine yedek varsa, onu RestoreTableFromBackup yapın; aksi halde mevcut tablo içeriği elinizdekidir.

  4. PITR'yi tablo oluşturmaya gömün — her üretim tablosu için IaC'nizde ayarlayın, böylece boşluk tekrarlayamaz ve bir geri yüklenen tablonun da PITR'yi devralmadığını unutmayın — yeni tabloda onu yeniden etkinleştirin.

Tablo başına ne kadar kurtarmanın önemli olduğuna karar vermeden önce içlerinde ne olduğuna bakın — DynoTable masaüstü uygulaması sana bu görünümü hesaplar ve Bölgeler arasında verir ve DynamoDB fiyatlandırma hesaplayıcısı, sürekli yedeklerin depolama maliyetine bir rakam koyar.

DynoTable’da yeniden denemeden önce

Hangi tabloların PITR'ye ihtiyacı olduğuna karar vermeden önce DynoTable'deki içeriklerine göz atın; Bölgeler genelinde her tabloyu ⌘K ile açın (⌘P profilleri değiştirir) ve verilerin sürekli yedekleme maliyetine değeceğini onaylayın. pricing calculator, üretim iş yüklerini önceliklendirebilmeniz için tablo başına PITR depolama ücretlerini tahmin eder.

PITR'yi etkinleştirdikten sonra, yedekleme durumunu AWS konsolundan veya CLI'den doğrulayın ve ardından test geri yüklemesi tamamlandıktan sonra DynoTable'de geri yüklenen verileri yerinde kontrol edin. Her Bölge için Ayarlar → Profiller altında Bağlantıyı Test Et ile profilleri yapılandırın. Bkz. Connect to AWS ve Install. PITR depolama alanı etkinleştirme anından itibaren tahakkuk eder; sen açmadan önce yazılan veriler için geriye dönük bir pencere yoktur.

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.