DynamoDB export — Point in time recovery is not enabled
TL;DR — Amazon S3'e dışa aktarma (ExportTableToPointInTime), kaynak tabloda Belirli Bir Zaman Noktasına Kurtarma (PITR) gerektirir. PITR kapalıysa PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table '<name>' alırsınız. PITR'yi etkinleştirin, ENABLED bildirdiğini doğrulayın, sonra dışa aktarmayı isteyin.
Ne anlama gelir
An error occurred (PointInTimeRecoveryUnavailableException) when calling the
ExportTableToPointInTime operation: Point in time recovery is not enabled for
table 'my-dynamodb-table'DynamoDB'nin S3'e tam ve artımlı dışa aktarma özelliği, canlı tablo kapasitesinden değil, tablonun PITR sürekli yedeklerinden okur. Bu yüzden hiç RCU tüketmez ve bir tablonun durumunu kurtarma penceresindeki herhangi bir noktada dışa aktarabilir — ancak yalnızca PITR etkinken çalışır. PITR yok, dışa aktarma yok.
Neden olur
- Tablo için PITR hiç açılmadı —
PointInTimeRecoveryStatusher yeni tabloda varsayılan olarakDISABLED'dır. - Yanlış tablo veya bölge — dışa aktarmanın
TableArn'ı, PITR yapılandırılmamış bir tabloyu (ya da başka bir Bölgedeki bir çoğaltmayı) gösteriyor. - Benzer görünür, farklı hata — PITR penceresi dışındaki bir
ExportTimebu istisnayı fırlatmaz;InvalidExportTimeExceptionile başarısız olur. Pencere, yapılandırılmış kurtarma sürenizi (RecoveryPeriodInDays, 1–35 gün) kapsar ve PITR'nin etkinleştirildiği andan önceye asla ulaşmaz.
Nasıl düzeltilir
- Kaynak tabloda PITR'yi etkinleştirin —
PointInTimeRecoveryEnabled: trueileUpdateContinuousBackupsya da konsolda Yedekler altında değiştirin. - PITR'nin açık olduğunu doğrulayın —
DescribeContinuousBackups,PointInTimeRecoveryStatus: ENABLEDbildirmelidir. (Onu, PITR kapalıyken bile her zamanENABLEDolanContinuousBackupsStatusile karıştırmayın.) O andan itibaren penceredeki herhangi bir nokta dışa aktarılabilir. ExportTime'ı pencerenin içinde tutun — yapılandırılmış kurtarma süreniz içinde (35 güne kadar) ve PITR'nin etkinleştirildiği anda ya da sonrasında; dışındaInvalidExportTimeExceptionalırsınız. Mevcut zaman noktasını dışa aktarmak için onu atlayın.- IAM izinlerini doğrulayın — çağıran, hedef paket üzerinde
dynamodb:ExportTableToPointInTimeartıs3:PutObject,s3:PutObjectAclves3:AbortMultipartUpload'a ihtiyaç duyar. - Dışa aktarma isteğinde doğru tablo ARN'ini ve bölgeyi hedefleyin.
S3'e gerçekte ne indiğini doğrulamanız mı gerekiyor? DynoTable masaüstü uygulaması kaynak tabloya göz atar ve aynı öğeleri CSV, JSON ya da NDJSON olarak dışa aktarır; böylece S3 nesnelerini karşılaştırabileceğiniz bir şeyiniz olur.
Nasıl yeniden oluşturulur
Bir tablo oluşturun, PITR kapalı kalsın ve bir dışa aktarma isteyin. Bucket var olmak zorunda değil — önce PITR denetimi çalışır:
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')Gerçek çıktı:
PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table 'my-table'
HTTP 400Hata işlemenize taşımaya değer iki ayrıntı. Ham SDK mesajı yalnızca yukarıdaki cümledir — daha uzun An error occurred (PointInTimeRecoveryUnavailableException) when calling the ExportTableToPointInTime operation: … biçimi, AWS CLI ile botocore sarmalayıcısının bağlam eklemesidir; yani hangisini gördüğünüz onu nasıl çağırdığınıza bağlıdır. Ayrıca istek S3'e hiç ulaşmadı: bu çalıştırmadaki bucket yok, yine de hata PITR ile ilgili — dolayısıyla bucket adındaki bir yazım hatası, PITR açılana kadar ortaya çıkmaz.
İlgili hatalar
- BackupNotFoundException — başvurulan talep üzerine yedek ARN'i yok.
- ResourceNotFoundException — tablonun kendisi bulunamadı.
- Öğrenin: DynamoDB backup & PITR
Kaynaklar
- 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
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.
2026-07-26 tarihinde boto3 1.43.56 üzerinden us-east-1'deki canlı DynamoDB hizmetine karşı yeniden üretildi — yukarıdaki çıktı birebir alınmıştır.