DynamoDB export — Point in time recovery is not enabled
TL;DR — Der Export nach Amazon S3 (ExportTableToPointInTime) erfordert Point-in-Time Recovery (PITR) auf der Quelltabelle. Ist PITR aus, bekommst du PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table '<name>'. Aktiviere PITR, bestätige, dass es ENABLED meldet, und fordere dann den Export an.
Was es bedeutet
An error occurred (PointInTimeRecoveryUnavailableException) when calling the
ExportTableToPointInTime operation: Point in time recovery is not enabled for
table 'my-dynamodb-table'DynamoDBs Full- und Incremental-Export nach S3 liest aus den kontinuierlichen PITR-Backups der Tabelle, nicht aus der Live-Tabellenkapazität. Deshalb verbraucht er nie RCUs und kann den Zustand einer Tabelle zu jedem Zeitpunkt im Recovery-Fenster exportieren — aber er funktioniert nur, wenn PITR aktiviert ist. Kein PITR, kein Export.
Warum es passiert
- PITR wurde nie eingeschaltet für die Tabelle —
PointInTimeRecoveryStatusist auf jeder neuen Tabelle standardmäßigDISABLED. - Falsche Tabelle oder Region — der
TableArndes Exports zeigt auf eine Tabelle (oder eine Replica in einer anderen Region), die kein PITR konfiguriert hat. - Sieht ähnlich aus, anderer Fehler — eine
ExportTimeaußerhalb des PITR-Fensters wirft diese Exception nicht; sie scheitert mitInvalidExportTimeException. Das Fenster umfasst deinen konfigurierten Recovery-Zeitraum (RecoveryPeriodInDays, 1–35 Tage) und reicht nie vor den Moment zurück, in dem PITR aktiviert wurde.
So behebst du es
- Aktiviere PITR auf der Quelltabelle —
UpdateContinuousBackupsmitPointInTimeRecoveryEnabled: true, oder schalte es in der Konsole unter Backups um. - Bestätige, dass PITR an ist —
DescribeContinuousBackupssolltePointInTimeRecoveryStatus: ENABLEDmelden. (Verwechsle es nicht mitContinuousBackupsStatus, das immerENABLEDist, selbst wenn PITR aus ist.) Ab diesem Moment ist jeder Punkt im Fenster exportierbar. - Halte
ExportTimeinnerhalb des Fensters — innerhalb deines konfigurierten Recovery-Zeitraums (bis zu 35 Tage) und zum oder nach dem Moment, in dem PITR aktiviert wurde; außerhalb bekommst duInvalidExportTimeException. Lass es weg, um den aktuellen Zeitpunkt zu exportieren. - Bestätige die IAM-Berechtigungen — der Aufrufer braucht
dynamodb:ExportTableToPointInTimepluss3:PutObject,s3:PutObjectAclunds3:AbortMultipartUploadauf dem Ziel-Bucket. - Ziele auf den richtigen Tabellen-ARN und die richtige Region in der Export-Anfrage.
Musst du verifizieren, was tatsächlich in S3 gelandet ist? Die DynoTable-Desktop-App durchsucht die Quelltabelle und exportiert dieselben Items als CSV, JSON oder NDJSON, sodass du etwas hast, womit du die S3-Objekte abgleichen kannst.
So reproduzierst du es
Erstelle eine Tabelle, lass PITR aus und fordere einen Export an. Der Bucket muss nicht existieren — die PITR-Prüfung läuft zuerst:
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')Echte Ausgabe:
PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table 'my-table'
HTTP 400Zwei Details, die du in deine Fehlerbehandlung mitnehmen solltest. Die rohe SDK-Meldung ist nur der Satz oben — die längere Form An error occurred (PointInTimeRecoveryUnavailableException) when calling the ExportTableToPointInTime operation: … ist der Kontext, den die AWS CLI und der botocore-Wrapper hinzufügen; welche du siehst, hängt also davon ab, wie du aufgerufen hast. Und die Anfrage hat S3 nie erreicht: Der Bucket in diesem Lauf existiert nicht, doch der Fehlschlag dreht sich um PITR — ein Bucket-Tippfehler taucht also erst auf, wenn PITR an ist.
Verwandte Fehler
- BackupNotFoundException — ein referenzierter On-Demand-Backup-ARN existiert nicht.
- ResourceNotFoundException — die Tabelle selbst wurde nicht gefunden.
- Learn: DynamoDB-Backups & PITR
Referenzen
- 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
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.
Am 2026-07-26 gegen den Live-DynamoDB-Dienst in us-east-1 via boto3 1.43.56 reproduziert — die Ausgabe oben ist wortgetreu.