InvalidRestoreTimeException
TL;DR — RestoreDateTime yang Anda minta berada di luar jendela point-in-time-recovery tabel ini. PITR memungkinkan Anda memulihkan ke detik mana pun dalam periode pemulihan (dapat dikonfigurasi antara 1 dan 35 hari, paling banyak 35 hari terakhir) — tetapi jendela juga tidak dapat dimulai sebelum PITR diaktifkan. Baca jendela tabel yang sebenarnya dari DescribeContinuousBackups dan pilih waktu di dalamnya, atau teruskan UseLatestRestorableTime untuk "sebaru mungkin".
Apa artinya
InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.Setiap tabel yang mengaktifkan PITR membawa jendela bergulir yang dibatasi oleh EarliestRestorableDateTime (hingga periode pemulihan ke belakang, tetapi tidak pernah sebelum PITR diaktifkan) dan LatestRestorableDateTime (biasanya sekitar 5 menit sebelum waktu saat ini). Permintaan pemulihan di luar batas itu — terlalu tua, atau terlalu dekat dengan sekarang — gagal dengan exception ini.
Mengapa terjadi
- Waktu lebih tua dari periode pemulihan — insiden yang Anda pulihkan terjadi sebelum jendela (paling banyak 35 hari, lebih sedikit jika periode lebih pendek dikonfigurasi).
- PITR diaktifkan baru-baru ini — jendela dimulai saat diaktifkan; Anda tidak dapat memulihkan ke sebelum momen itu bahkan dalam 35 hari.
- Waktu terlalu baru —
LatestRestorableDateTimetertinggal dari waktu nyata sekitar 5 menit; "pulihkan ke 30 detik lalu" belum ada di jendela. - Selip timezone/format — timestamp waktu-lokal yang dikirim di mana epoch second UTC dimaksudkan mendarat di luar jendela tanpa Anda sadari.
Cara memperbaikinya
Baca jendela yang sebenarnya terlebih dahulu:
aws dynamodb describe-continuous-backups --table-name orders # ...PointInTimeRecoveryDescription: # EarliestRestorableDateTime, LatestRestorableDateTimePilih
RestoreDateTimedi dalamnya (epoch second, UTC), atau ambil keadaan terbaru yang tersedia tanpa menamai waktu:aws dynamodb restore-table-to-point-in-time \ --source-table-name orders --target-table-name orders-recovered \ --use-latest-restorable-timeButuh data lebih tua dari jendela? PITR tidak dapat menjangkaunya — kembali ke backup on-demand atau ekspor tabel yang diambil di era itu, jika ada.
Ingat apa yang tidak dibawa pemulihan — tabel baru mendapat data, index, kapasitas dan pengaturan enkripsi, tetapi Anda harus membuat ulang kebijakan auto scaling, kebijakan IAM, alarm CloudWatch, tag, pengaturan stream, TTL, dan PITR itu sendiri.
Setelah pemulihan mendarat, verifikasi data yang dipulihkan sebelum mengalihkan trafik — aplikasi desktop DynoTable membuat mem-diff tabel yang dipulihkan terhadap ekspektasi menjadi tugas penelusuran, dan kalkulator harga DynamoDB mengukur biaya kapasitas tabel baru.
Kesalahan terkait
- PointInTimeRecoveryUnavailableException — PITR tidak diaktifkan sama sekali.
- Export requires PITR — sepupu export-time dari jendela ini.
- Table already exists — nama target sudah dipakai.
- Pelajari: 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
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.