DynamoDB ReplicaNotFoundException

TL;DR: la réplica de la región que estás intentando actualizar o eliminar no forma parte de esta tabla global. Por lo general, un nombre de región incorrecto, una réplica que ya se eliminó o una llamada que acelera otra actualización de réplica en curso. Confirme las réplicas actuales con DescribeTable y luego seleccione una que exista.

Qué significa

ReplicaNotFoundException: The specified replica is no longer part of the global table.

Las operaciones de tablas globales (UpdateGlobalTable, o UpdateTable con un ReplicaUpdates/Delete) se dirigen a una réplica por su región de AWS. Este HTTP 400 significa que la región que nombraste no es actualmente una réplica de la tabla global. Es del lado del cliente y no es reintentable hasta que apuntes a una réplica real.

Por qué ocurre

  • Código de región equivocadous-east-2 cuando la réplica está en us-east-1, o una región que nunca se añadió.
  • Réplica ya eliminada — un borrado contra una región que una actualización anterior ya quitó de la tabla.
  • Cambios de réplica solapadosUpdateTable no puede ejecutarse mientras la tabla sigue en UPDATING por un cambio anterior, y AWS recomienda emitir una petición separada para cada adición/eliminación de réplica; la automatización en carrera puede apuntar a una réplica que otro trabajo ya eliminó.
  • Confundir la primaria con una réplica — operar sobre una región que no aloja ninguna réplica de esta tabla.
  • Confusión de versiones — mezclar la API legada Versión 2017.11.29 (GlobalTable) y la actual 2019.11.21 (réplica en la tabla).

Cómo solucionarlo

  1. Lista las réplicas actuales y su estado:
    aws dynamodb describe-table --table-name <Table> \
      --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}"
  2. Apunta a una región que esté realmente en la lista — copia el código de región exactamente.
  3. Cambia una réplica a la vez. Espera a que la tabla vuelva a ACTIVE (y a que termine la adición/eliminación anterior) antes de la siguiente actualización.
  4. ¿Eliminar una réplica que ya no está? No hay nada que hacer — trata el ReplicaNotFoundException como ya satisfecho para un borrado.
  5. Usa la API actual (2019.11.21) — gestiona las réplicas mediante UpdateTable ReplicaUpdates, no la API legada de tablas globales.

¿Gestionando tablas entre regiones? La aplicación de escritorio DynoTable muestra las réplicas de cada tabla y su estado, para que actúes sobre una región que realmente forme parte de la tabla global.

Revisa primero en DynoTable

Abre la tabla en DynoTable y revisa las estadísticas de la tabla / la lista de réplicas para ver qué regiones existen realmente antes de ejecutar UpdateTable ReplicaUpdates. Cambia de perfil con ⌘P para asegurarte de estar mirando la cuenta propietaria de la tabla global. Cuando una región de réplica ya no está, DynoTable simplemente la omite — no hay una tarjeta obsoleta de la consola que puedas pulsar.

Contrasta el código de región con la lista en vivo y luego vuelve a emitir el cambio de plano de control desde la IaC o la CLI. Para las lecturas del día a día entre réplicas, mantén un perfil de DynoTable por región y cambia con ⌘1⌘9 en lugar de adivinar ARNs. El query builder se queda en la región del perfil activo, así que nunca mezclas una Query de us-east-1 con un nombre de tabla de us-west-2.

Fuentes

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.