DynamoDB ReplicaNotFoundException
TL;DR: la replica della regione che stai tentando di aggiornare o rimuovere non fa parte di questa tabella globale. Di solito si tratta di un nome di regione sbagliato, di una replica già rimossa o di una chiamata che mette in competizione un altro aggiornamento della replica in volo. Conferma le repliche correnti con "DescribeTable", quindi scegline una esistente.
Cosa significa
ReplicaNotFoundException: The specified replica is no longer part of the global table.Le operazioni sulle tabelle globali (UpdateGlobalTable o UpdateTable con ReplicaUpdates/Delete) indirizzano una replica in base alla sua regione AWS. Questo HTTP 400 significa che la regione che hai nominato non è attualmente una replica della tabella globale. È lato client e non è possibile riprovare finché non si sceglie come target una replica reale.
Perché succede
- Codice regione errato — "us-east-2" quando la replica si trova in "us-east-1" o in una regione che non è mai stata aggiunta.
- Replica già rimossa: un'eliminazione rispetto a una regione già eliminata dalla tabella da un aggiornamento precedente.
- Modifiche alle repliche sovrapposte —
UpdateTablenon può essere eseguito mentre la tabella è ancora inAGGIORNAMENTOda una modifica precedente e AWS consiglia di inviare una richiesta separata per ogni aggiunta/rimozione di replica; l'automazione delle corse può prendere di mira una replica di un altro lavoro già rimosso. - Confondere il primario con una replica: operare su una regione che non ospita alcuna replica di questa tabella.
- Confusione di versioni: mescola la versione legacy 2017.11.29 (
GlobalTable) e le attuali API 2019.11.21 (replica su tabella).
Come risolverlo
- Elenca le repliche attuali e il loro stato:
aws dynamodb describe-table --table-name <Table> \ --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}" - Scegli come target una regione effettivamente presente nell'elenco: copia esattamente il codice regionale.
- Modifica una replica alla volta. Attendi che la tabella ritorni su "ACTIVE" (e che la precedente aggiunta/rimozione venga completata) prima del prossimo aggiornamento.
- Rimuovere una replica che è già scomparsa? Non c'è niente da fare: considera
ReplicaNotFoundExceptioncome già soddisfatto per l'eliminazione. - Utilizza l'attuale (21.11.2019) API: gestisci le repliche tramite
UpdateTableReplicaUpdates, non la tabella globale legacy API.
Gestire tabelle tra regioni? L'DynoTable app desktop mostra le repliche di ogni tabella e il relativo stato, così puoi agire su una regione che fa effettivamente parte della tabella globale.
Controlla prima in DynoTable
Apri la tabella in DynoTable e controlla le statistiche della tabella/l'elenco delle repliche per le regioni effettivamente esistenti prima di eseguire UpdateTable ReplicaUpdates. Cambia profilo con ⌘P in modo da visualizzare l'account proprietario della tabella globale. Quando una regione di replica scompare, DynoTable la omette semplicemente: non c'è alcuna scheda console obsoleta su cui fare clic.
Effettua un controllo incrociato del codice regionale con l'elenco attivo, quindi emetti nuovamente la modifica del piano di controllo da IaC o CLI. Per le letture quotidiane tra repliche, mantieni un profilo DynoTable per regione e cambia con ⌘1–⌘9 invece di indovinare gli ARN. Il generatore di query rimane nella regione del profilo attivo, quindi non mescolare mai una query us-east-1 con un nome di tabella us-west-2.
Fonti
- Riferimento UpdateGlobalTable — Amazon DynamoDB API (verificato il 13-07-2026)
- Tabelle globali: Guida per sviluppatori Amazon DynamoDB (verificato il 13-07-2026)
Errori correlati
- ResourceNotFoundException — la tabella stessa non viene trovata nella regione/account.
- ResourceInUseException: una modifica della replica è in conflitto con lo stato corrente della tabella.
- Impara: Tabelle globali
Riferimenti
- Riferimento UpdateGlobalTable — Amazon DynamoDB API
- UpdateTable - Riferimento Amazon DynamoDB API
- Tabelle globali: Guida per sviluppatori Amazon DynamoDB
- Determinazione della versione della tabella globale in uso: Guida per sviluppatori Amazon DynamoDB
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.