BackupInUseException
TL;DR: una operación conflictiva del plano de control de copia de seguridad todavía está en marcha en esta tabla: la copia de seguridad se está creando, eliminando o restaurando en este momento. Estas operaciones se serializan: espere a que finalice la operación en vuelo (marque BackupStatus a través de DescribeBackup) y luego vuelva a intentar la suya.
Qué significa
BackupInUseException: There is another ongoing conflicting backup control
plane operation on the table. The backup is either being created, deleted
or restored to a table.Las operaciones de backup bajo demanda (CreateBackup, DeleteBackup, RestoreTableFromBackup) son llamadas de control-plane, y DynamoDB rechaza las que entrarían en conflicto con una operación que ya se está ejecutando contra el mismo backup o tabla. Es un error de estado transitorio, no un problema de permisos ni de datos.
Por qué ocurre
- Eliminar un backup que todavía se está creando — el
CreateBackupaún no ha llegado aAVAILABLE. - Eliminar un backup mientras se está restaurando desde él — la restauración retiene el backup hasta que termine de crearse la nueva tabla.
- Automatización solapada — un script de limpieza y un programador de backups compitiendo entre sí, o un bucle de reintentos que dispara
CreateBackupdos veces sobre la misma tabla. - Superar el límite de tasa a ráfagas —
DeleteBackupacepta como máximo 10 llamadas por segundo; barrer muchos backups en un bucle apretado provoca conflictos y throttling a la vez.
Cómo solucionarlo
Comprueba qué está en curso y luego espera:
aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234... # BackupStatus: CREATING | AVAILABLE | DELETEDReintenta tu operación cuando el estado se estabilice (
AVAILABLEpara una creación completada; una tabla en restauración llega aACTIVEvíadescribe-table).Reintenta con backoff en lugar de fallar de golpe — las operaciones de backup tardan de segundos a minutos; un simple bucle de esperar-y-reintentar alrededor de la llamada absorbe la serialización.
Serializa tu automatización — un único responsable por tabla para las operaciones de ciclo de vida de backup; encola los deletes detrás de los creates en vez de ejecutar ambos en un cron que pueda solaparse.
Regula los deletes masivos — mantente por debajo de 10 llamadas
DeleteBackup/segundo y trata esta excepción como la señal para ir más despacio.Etiqueta los backups con el nombre de la tabla y la fecha para que la automatización pueda saltarse los ARN en curso en lugar de reintentar los deletes a ciegas.
Detéctalo en DynoTable
Antes de eliminar backups, explora la tabla viva que protegen — ábrela con ⌘K y confirma que los datos siguen importando. DynoTable hace práctico revisar el contenido de las tablas entre cuentas (⌘P) antes de que se ejecute un script de limpieza.
Estima el tráfico de lectura de la restauración con la calculadora de precios cuando planifiques un RestoreTableFromBackup. Configura los perfiles en Settings → Profiles con Test Connection para cada cuenta que sea propietaria de backups. Consulta Conectar con AWS e Instalación. Mientras esperas a que termine un backup en curso, explora las tablas protegidas con ⌘K para confirmar que los datos siguen mereciendo retención. Basta con un DescribeBackup cada pocos segundos — las creaciones de backup suelen terminar en minutos, y los deletes están acotados de forma parecida.
Fuentes
- DeleteBackup — Amazon DynamoDB API Reference (verificado 2026-07-13)
- Restoring a DynamoDB table from a backup (verificado 2026-07-13)
Errores relacionados
- BackupNotFoundException — el ARN no resuelve a ningún backup.
- Table already exists — restaurar a un nombre que ya está ocupado.
- LimitExceededException — demasiadas operaciones de control-plane concurrentes.
- Aprende: Backups y recuperación a un punto en el tiempo
Referencias
- DeleteBackup — Amazon DynamoDB API Reference
- RestoreTableFromBackup — Amazon DynamoDB API Reference
- DescribeBackup — Amazon DynamoDB API Reference
- Restoring a DynamoDB table from a backup — Amazon DynamoDB Developer Guide
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.