DynamoDB: la tabella esiste già
TL;DR — L'operazione vuole creare la sua tabella di destinazione e il nome è già preso in questo account + regione. I ripristini (RestoreTableFromBackup / RestoreTableToPointInTime) lanciano TableAlreadyExistsException; "CreateTable" e "ImportTable" riportano la stessa situazione di "ResourceInUseException". Scegli un nuovo nome di destinazione: i ripristini e le importazioni non potranno mai scrivere in una tabella esistente.
Cosa significa
TableAlreadyExistsException: A target table with the specified name already exists
ResourceInUseException: Table already exists: my-table
# what the engine actually returns, reproduced against DynamoDB Local:
ResourceInUseException: Cannot create preexisting tableLe operazioni di ripristino e importazione creano sempre una tabella nuova di zecca: non possono unirsi o sovrascriverne una attiva. Se il nome di destinazione si risolve in una qualsiasi tabella esistente (indipendentemente dal suo stato) nello stesso account e nella stessa regione, la richiesta fallisce immediatamente. L'eccezione visualizzata dipende da API: la famiglia di ripristino ha la propria TableAlreadyExistsException, mentre CreateTable e ImportTable presentano la generica ResourceInUseException.
Perché succede
- Ripristinare un backup sul nome originale — l'istinto naturale ("rimetti a posto la mia tabella") si scontra con la tabella ancora esistente.
- Riesecuzione di un'importazione o di una distribuzione IaC: un tentativo di "ImportTable" o uno stack CloudFormation/Terraform/CDK che tenta di creare una tabella che già esiste al di fuori dello stato dello stack.
- Una gara di creazione e riprova: il primo
CreateTableè riuscito (o è ancoraCREING) e il nuovo tentativo trova il nome preso. - Collisione ambientale: due fasi/ambienti condividono un account ed entrambi desiderano il nome senza prefisso.
Come risolverlo
Ripristina con un nuovo nome, quindi taglia — ripristina come
my-table-restored, verifica i dati, reindirizza l'applicazione (o elimina la vecchia tabella e ripristinala nuovamente con il nome originale una volta scomparsa):aws dynamodb restore-table-from-backup \ --target-table-name my-table-restored \ --backup-arn arn:aws:dynamodb:...:table/my-table/backup/...Se intendi sostituire la tabella, elimina prima quella esistente e attendi fino al completamento dell'eliminazione: il nome rimane in uso mentre la tabella è nello stato
DELETING(un tentativo di ripristino fallisce conTableInUseException; vedi ResourceInUseException per il latoCreateTable).Per le importazioni, scegli un nome di destinazione non utilizzato: "ImportTable" crea solo nuove tabelle. Per caricare i dati in una tabella esistente, scrivili invece con
BatchWriteItem/PutItem.Per i tentativi IaC, importa la tabella esistente nello stato dello stack (o rinominala), anziché contrastare la creazione.
Controlla cosa esiste effettivamente:
aws dynamodb list-tablesnella stessa regione/account determina se il nome è veramente libero.Aggiungi alle tabelle ripristinate il suffisso con la data (
orders-20260812-restore) in modo che il ritaglio e la pulizia siano inequivocabili.
Misura in DynoTable
Prima del taglio, apri sia la tabella originale che quella ripristinata in DynoTable — cambia con ⌘K e controlla gli elementi uno accanto all'altro. La gestione temporanea (⌘S) consente di testare le scritture rispetto alla copia ripristinata senza toccare il traffico di produzione.
Dimensiona la tabella ripristinata con il calcolatore dei prezzi. Cambia account/regione con ⌘P; Verifica connessione in Impostazioni → Profili. Consulta Connetti a AWS e Installa.
Fonti
- Riferimento RestoreTableFromBackup — Amazon DynamoDB API (verificato il 13-07-2026)
- CreateTable - Riferimento Amazon DynamoDB API (verificato il 13-07-2026)
Errori correlati
- ResourceInUseException — la versione "CreateTable" della stessa collisione.
- Backup non trovato
- L'esportazione richiede PITR
- Impara: Backup e ripristino temporizzato
Riferimenti
- Riferimento RestoreTableFromBackup — Amazon DynamoDB API
- Riferimento RestoreTableToPointInTime — Amazon DynamoDB API
- CreateTable - Riferimento Amazon DynamoDB API
- Errori di convalida dell'importazione di Amazon S3 - Guida per sviluppatori di Amazon DynamoDB
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.