InvalidRestoreTimeException
TL;DR — İstediğiniz RestoreDateTime, bu tablonun belirli-bir-zaman-noktasına-kurtarma penceresinin dışında. PITR, kurtarma süresi içinde (1 ile 35 gün arasında yapılandırılabilir, en fazla son 35 gün) herhangi bir saniyeye geri yüklemenize olanak tanır — ancak pencere PITR etkinleştirilmeden önce de başlayamaz. Tablonun gerçek penceresini DescribeContinuousBackups'tan okuyun ve içine bir zaman seçin ya da "mümkün olduğunca yeni" için UseLatestRestorableTime iletin.
Ne anlama gelir
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.PITR etkin her tablo, EarliestRestorableDateTime (kurtarma süresi kadar geriye ama PITR açılmadan önceye asla) ve LatestRestorableDateTime (genellikle mevcut zamandan yaklaşık 5 dakika önce) ile sınırlanmış bir kayan pencere taşır. Bu sınırların dışındaki bir geri yükleme isteği — çok eski ya da şu ana çok yakın — bu istisnayla başarısız olur.
Neden olur
- Zaman kurtarma süresinden daha eski — kurtardığınız olay penceresinden önce oldu (en fazla 35 gün, daha kısa bir süre yapılandırılmışsa daha az).
- PITR yakın zamanda etkinleştirildi — pencere etkinleştirmede başlar; 35 gün içinde bile o andan önceye geri yükleyemezsiniz.
- Zaman çok yeni —
LatestRestorableDateTime, gerçek zamanın ~5 dakika gerisindedir; "30 saniye öncesine geri yükle" henüz pencerede değil. - Saat dilimi/biçim kaymaları — UTC epoch saniyelerinin amaçlandığı yere gönderilen yerel-saat zaman damgası, fark etmeden pencerenin dışına düşer.
Nasıl düzeltilir
Önce gerçek pencereyi okuyun:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimeİçine bir
RestoreDateTimeseçin (epoch saniye, UTC) ya da bir zaman adlandırmadan en yeni mevcut durumu alın:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-timePencereden daha eski veriye mi ihtiyacınız var? PITR ona ulaşamaz — varsa, o dönemde alınmış bir talep üzerine yedeğe ya da bir tablo dışa aktarmasına geri dönün.
Bir geri yüklemenin neyi taşımadığını unutmayın — yeni tablo veri, indeksler, kapasite ve şifreleme ayarları alır, ancak otomatik ölçeklendirme ilkelerini, IAM ilkelerini, CloudWatch alarmlarını, etiketleri, stream ayarlarını, TTL'yi ve PITR'nin kendisini yeniden oluşturmalısınız.
Geri yükleme ulaştıktan sonra, trafiği değiştirmeden önce kurtarılan veriyi doğrulayın — DynoTable masaüstü uygulaması, kurtarılan tabloyu beklentilere karşı karşılaştırmayı bir gözatma görevine dönüştürür ve DynamoDB fiyatlandırma hesaplayıcısı, yeni tablonun kapasite maliyetini boyutlandırır.
İlgili hatalar
- PointInTimeRecoveryUnavailableException — PITR hiç etkin değil.
- Export requires PITR — bu pencerenin dışa-aktarma-zamanı kuzeni.
- Table already exists — hedef ad alınmış.
- Öğrenin: Backups & point-in-time recovery
References
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- DescribeContinuousBackups — Amazon DynamoDB API Reference
- Enable point-in-time recovery in DynamoDB — Amazon DynamoDB Developer Guide
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.