DynamoDB export — Point in time recovery is not enabled
TL;DR — La exportación a Amazon S3 (ExportTableToPointInTime) requiere recuperación en un momento dado (PITR) en la tabla de origen. Si PITR está desactivado obtienes PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table '<name>'. Activa PITR, confirma que reporta ENABLED, y luego solicita la exportación.
Qué significa
An error occurred (PointInTimeRecoveryUnavailableException) when calling the
ExportTableToPointInTime operation: Point in time recovery is not enabled for
table 'my-dynamodb-table'La función de exportación a S3 completa e incremental de DynamoDB lee de las copias de seguridad continuas PITR de la tabla, no de la capacidad de la tabla en vivo. Por eso nunca consume RCU y puede exportar el estado de una tabla en cualquier punto de la ventana de recuperación — pero solo funciona cuando PITR está activado. Sin PITR, no hay exportación.
Por qué ocurre
- PITR nunca se activó para la tabla —
PointInTimeRecoveryStatusesDISABLEDpor defecto en cada tabla nueva. - Tabla o región incorrectas — el
TableArnde la exportación apunta a una tabla (o una réplica en otra región) que no tiene PITR configurado. - Parece similar, error distinto — un
ExportTimefuera de la ventana de PITR no lanza esta excepción; falla conInvalidExportTimeException. La ventana cubre tu periodo de recuperación configurado (RecoveryPeriodInDays, 1–35 días) y nunca alcanza más allá del momento en que se activó PITR.
Cómo solucionarlo
- Activa PITR en la tabla de origen —
UpdateContinuousBackupsconPointInTimeRecoveryEnabled: true, o actívalo en la consola bajo Backups. - Confirma que PITR está activado —
DescribeContinuousBackupsdebería reportarPointInTimeRecoveryStatus: ENABLED. (No lo confundas conContinuousBackupsStatus, que siempre esENABLEDincluso cuando PITR está desactivado.) A partir de ese momento, cualquier punto de la ventana es exportable. - Mantén
ExportTimedentro de la ventana — dentro de tu periodo de recuperación configurado (hasta 35 días) y en o después del momento en que se activó PITR; fuera de él obtendrásInvalidExportTimeException. Omítelo para exportar el momento actual. - Confirma los permisos de IAM — quien llama necesita
dynamodb:ExportTableToPointInTimemáss3:PutObject,s3:PutObjectAclys3:AbortMultipartUploadsobre el bucket de destino. - Apunta al ARN y la región correctos de la tabla en la petición de exportación.
¿Necesitas verificar qué aterrizó realmente en S3? La aplicación de escritorio DynoTable explora la tabla de origen y exporta los mismos elementos como CSV, JSON o NDJSON, así que tienes algo con lo que comparar los objetos de S3.
Reproducirlo
Crea una tabla, deja PITR desactivado y pide una exportación. El bucket no necesita existir — la comprobación de PITR se ejecuta primero:
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')Salida real:
PointInTimeRecoveryUnavailableException: Point in time recovery is not enabled for table 'my-table'
HTTP 400Dos detalles que conviene llevarse a tu gestión de errores. El mensaje crudo del SDK es solo la frase de arriba — la forma más larga An error occurred (PointInTimeRecoveryUnavailableException) when calling the ExportTableToPointInTime operation: … es el envoltorio del AWS CLI y de botocore añadiendo contexto, así que cuál veas depende de cómo lo hayas llamado. Y la petición nunca llegó a S3: el bucket de esta ejecución no existe y, aun así, el fallo va de PITR, así que una errata en el nombre del bucket no saldrá a la luz hasta que PITR esté activado.
Errores relacionados
- BackupNotFoundException — un ARN de copia de seguridad bajo demanda referenciado no existe.
- ResourceNotFoundException — la propia tabla no se encontró.
- Aprende: Backup y PITR de DynamoDB
Referencias
- 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
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.
Reproducido el 2026-07-26 contra el servicio DynamoDB en vivo en us-east-1 mediante boto3 1.43.56 — la salida de arriba es literal.