DynamoDB export — Point in time recovery is not enabled
TL;DR — Export ke Amazon S3 (ExportTableToPointInTime) mensyaratkan Point-in-Time Recovery (PITR) aktif di tabel sumber. Kalau PITR mati Anda akan mendapat PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table '<name>'. Aktifkan PITR, pastikan statusnya melaporkan ENABLED, lalu ajukan export-nya.
Apa artinya
An error occurred (PointInTimeRecoveryUnavailableException) when calling the
ExportTableToPointInTime operation: Point in time recovery is not enabled for
table 'my-dynamodb-table'Fitur export ke S3 DynamoDB, baik penuh maupun inkremental, membaca dari continuous backup PITR milik tabel, bukan dari kapasitas tabel yang live. Karena itulah ia tidak pernah mengonsumsi RCU dan bisa meng-export keadaan tabel pada titik mana pun di dalam jendela pemulihan — tapi ini hanya bekerja ketika PITR aktif. Tanpa PITR, tidak ada export.
Mengapa itu terjadi
- PITR tidak pernah dinyalakan untuk tabel itu —
PointInTimeRecoveryStatusbernilaiDISABLEDsecara default di setiap tabel baru. - Salah tabel atau salah region —
TableArnpada export menunjuk ke tabel (atau replika di Region lain) yang tidak dikonfigurasi dengan PITR. - Mirip, tapi error yang berbeda —
ExportTimedi luar jendela PITR tidak memunculkan exception ini; ia gagal denganInvalidExportTimeException. Jendela itu mencakup periode pemulihan yang Anda konfigurasikan (RecoveryPeriodInDays, 1–35 hari) dan tidak pernah menjangkau lebih jauh ke belakang dari saat PITR diaktifkan.
Bagaimana cara memperbaikinya
- Aktifkan PITR di tabel sumber —
UpdateContinuousBackupsdenganPointInTimeRecoveryEnabled: true, atau nyalakan lewat konsol di bagian Backups. - Pastikan PITR menyala —
DescribeContinuousBackupsseharusnya melaporkanPointInTimeRecoveryStatus: ENABLED. (Jangan tertukar denganContinuousBackupsStatus, yang selaluENABLEDbahkan ketika PITR mati.) Sejak saat itu, titik mana pun di dalam jendela bisa di-export. - Jaga
ExportTimetetap di dalam jendela — dalam periode pemulihan yang Anda konfigurasikan (hingga 35 hari) dan pada atau setelah saat PITR diaktifkan; di luar itu Anda akan mendapatInvalidExportTimeException. Hilangkan saja parameter itu untuk meng-export titik waktu saat ini. - Pastikan izin IAM-nya — pemanggil butuh
dynamodb:ExportTableToPointInTimepluss3:PutObject,s3:PutObjectAcl, dans3:AbortMultipartUploadpada bucket tujuan. - Sasarkan ARN tabel dan region yang benar di dalam request export.
Perlu memverifikasi apa yang benar-benar mendarat di S3? Aplikasi desktop DynoTable menelusuri tabel sumber dan mengekspor item yang sama sebagai CSV, JSON, atau NDJSON, jadi Anda punya bahan pembanding untuk objek S3-nya.
Cara mereproduksinya
Buat sebuah tabel, biarkan PITR mati, lalu minta sebuah export. Bucket-nya tidak perlu ada — pemeriksaan PITR jalan lebih dulu:
import boto3
ddb = boto3.client('dynamodb', region_name='us-east-1')
arn = ddb.describe_table(TableName='my-table')['Table']['TableArn']
ddb.export_table_to_point_in_time(TableArn=arn, S3Bucket='any-bucket-name')Keluaran sebenarnya:
PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table 'my-table'
HTTP 400Dua detail yang layak dibawa ke penanganan error Anda. Pesan mentah dari SDK hanyalah kalimat di atas — bentuk yang lebih panjang, An error occurred (PointInTimeRecoveryUnavailableException) when calling the ExportTableToPointInTime operation: …, adalah AWS CLI dan pembungkus botocore yang menambahkan konteks, jadi mana yang Anda lihat tergantung cara Anda memanggilnya. Dan request-nya tidak pernah sampai ke S3: bucket dalam percobaan ini tidak ada, namun kegagalannya soal PITR, jadi salah ketik nama bucket tidak akan muncul sampai PITR menyala.
Kesalahan terkait
- BackupNotFoundException — ARN backup on-demand yang dirujuk tidak ada.
- ResourceNotFoundException — tabelnya sendiri tidak ditemukan.
- Pelajari: Backup & PITR DynamoDB
Referensi
- ExportTableToPointInTime — Amazon DynamoDB API Reference
- Requesting a table export in DynamoDB — Amazon DynamoDB Developer Guide
- DynamoDB data export to Amazon S3: how it works — Amazon DynamoDB Developer Guide
- Enable point-in-time recovery in DynamoDB — Amazon DynamoDB Developer Guide
- DescribeContinuousBackups — Amazon DynamoDB API Reference
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.
Direproduksi 2026-07-26 terhadap layanan DynamoDB live di us-east-1 via boto3 1.43.56 — keluaran di atas dikutip apa adanya.