Importa
DynoTable importa file CSV, JSON e NDJSON in una tabella esistente — l'altra metà di Esporta. L'intero file viene controllato prima che venga scritta una sola riga, quindi un file non valido fallisce con i numeri di riga invece di lasciarti i dati importati solo a metà.
Apri la finestra con il pulsante Importare nella barra degli strumenti della tabella. L'import scrive nella tabella, quindi serve una licenza di prova o attiva.

L'import carica dati in una tabella che esiste già — non ne crea mai una. Crea prima la tabella (e la sua chiave primaria), poi importa al suo interno.
Due livelli di fedeltà
Esatto — JSON / NDJSON scritti nella forma del cavo
(DynamoDB-JSON). Niente viene indovinato: ogni
valore porta già il proprio tipo, quindi un'esportazione presa in questo
formato viene reimportata identica. È il formato da usare quando i dati
contano.
Convenienza — CSV e JSON semplice (non marshalled). Questi non
portano alcuna informazione di tipo, quindi DynoTable deduce un tipo per
colonna e ti mostra cosa ha scelto prima che tu confermi. Comodo, e con
perdite in modi documentati — vedi
Dove i file di convenienza perdono informazioni.
Colonne e tipi
Le intestazioni del file diventano nomi di attributo. L'anteprima elenca ogni colonna con il tipo dedotto da DynoTable. Fai clic destro sull'intestazione di una colonna per rinominarla se non corrisponde al nome di attributo che vuoi, o per cambiare il suo Tipo di dato quando quello dedotto non è quello che vuoi — un codice prodotto fatto solo di cifre, per esempio, che deve restare testo invece di diventare un numero.
L'elenco dei tipi offre solo ciò che i valori di quella colonna possono effettivamente diventare, quindi una colonna di testo semplice non offrirà Map o List. Se una colonna ha una sola possibilità, non compare alcun elenco. Non c'è nessuna schermata di mappatura oltre a questa.
Il tuo file deve fornire la chiave primaria completa della tabella. Una riga priva di un attributo chiave, o che porta il tipo sbagliato per uno di essi, viene rifiutata con il suo nome.
Niente viene scritto finché l'intero file non passa
L'import legge il file due volte. Il primo passaggio valida ogni riga e non scrive nulla; solo se il file passa, il secondo passaggio scrive.
- I problemi vengono segnalati con numeri di riga (o posizioni dell'elemento, per un array JSON), fino a 20 alla volta.
- Due righe con la stessa chiave nello stesso file vengono rifiutate, e ti vengono mostrate entrambe le posizioni — DynamoDB manterrebbe in silenzio solo l'ultima.
- Correggi il file e premi di nuovo Importare; la finestra resta sul file che hai scelto.
Importare sostituisce gli elementi corrispondenti
Una riga importata sostituisce ogni elemento esistente con la stessa chiave primaria, attributo per attributo — non viene unita a esso. Gli attributi che il vecchio elemento aveva e il file non ha spariscono.
L'import inoltre non passa attraverso lo staging, quindi non c'è un passaggio di revisione e nessun revert. A differenza di una modifica messa in staging, un import non può essere annullato dalla cronologia dell'app. Sui dati a cui tieni, importa prima in una copia della tabella e verifica il risultato.
Limiti
| Limite | Valore |
|---|---|
| Dimensione file CSV / NDJSON | 250 MB |
Un singolo array .json | 50 MB — oltre, usa NDJSON |
| Righe per import | 2.000.000 |
| Un elemento | 400 KB (il limite di DynamoDB stesso) |
Un file .json contiene un unico grande array che deve essere analizzato per
intero, ed è per questo che il suo limite è più basso. NDJSON — un elemento
per riga — è invece in streaming, quindi arriva ai pieni 250 MB.
Dove i file di convenienza perdono informazioni
Questi si applicano solo a CSV e JSON semplice. Il formato marshalled DynamoDB-JSON non ne ha nessuno.
- I tipi sono dedotti da un campione di circa le prime 200 righe. Una colonna che lì sembra numerica ma più avanti nel file diventa non numerica viene rifiutata durante la validazione — la correzione consiste nel sistemare il file.
- Set e binari non si possono esprimere in CSV, quindi non si possono importare da un file CSV.
- Le celle vuote vengono saltate, non scritte come stringhe vuote. Un elemento semplicemente non avrà quell'attributo.
- Map e List sopravvivono al viaggio. Export le scrive in una cella CSV come testo JSON, e import riconosce quel testo e ricostruisce la struttura. Se una colonna è genuinamente testo che assomiglia a JSON per caso, l'anteprima mostra cosa è diventata e puoi reimpostare il Tipo di dato di quella colonna su String.
- I numeri molto grandi in JSON semplice perdono precisione prima ancora che DynoTable li veda — è un limite di JSON stesso. Usa DynamoDB-JSON per ID e importi che devono restare esatti.
- I contrassegni di sicurezza per i fogli di calcolo vengono gestiti al
ritorno. Export antepone un apostrofo alle celle che un foglio di calcolo
tratterebbe come formule. All'import,
'-5diventa il numero-5e'+7torna come il testo+7— ma una formula genuina come'=SUM(A1)mantiene il suo apostrofo, permanentemente. Rimuoverlo riarmerebbe la cosa che il contrassegno esiste per disinnescare.
Avanzamento, annullamento e fallimenti
Un import in corso appare nel dock Attività in fondo alla barra laterale con l'avanzamento in tempo reale, e continua mentre lavori in altre schede. Puoi interromperlo da lì; le righe già scritte restano scritte.
Se DynamoDB limita la tabella abbastanza da impedire la scrittura di alcune righe anche dopo i tentativi, l'import termina e ti dice quante righe non è stato possibile scrivere. Rieseguire lo stesso file è sicuro: le righe che sono arrivate a destinazione vengono semplicemente scritte di nuovo con gli stessi valori.
Le voci di import restano nel dock finché non le chiudi: un import non produce un file da indicare, quindi quella riga è l'unico record che attesta che l'esecuzione è terminata.


