Ottenere tutti gli Item da DynamoDB con la AWS CLI

In DynamoDB non esiste un "select all" — leggere un'intera tabella significa uno Scan paginato. La buona notizia: la AWS CLI pagina automaticamente, effettuando dietro le quinte tutte le chiamate di servizio da 1 MB necessarie e stampando un unico risultato combinato.

Code

aws dynamodb scan --table-name 'Music'

L'output combinato contiene ogni Item della tabella:

{
    "Items": [
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
    ],
    "Count": 1287,
    "ScannedCount": 1287
}

Spiegazione

  • Paginazione automatica — a differenza degli SDK, la CLI segue LastEvaluatedKey per te per impostazione predefinita: un comando, tutti gli Item. (--no-paginate la limita a una singola chiamata di servizio — solo i primi ~1 MB.)
  • Output a blocchi per tabelle grandi — l'intera tabella finisce in memoria prima della stampa, quindi per tabelle grandi leggila a fette: --max-items 1000 stampa 1000 Item più un NextToken; riprendi con --starting-token <token>. Mantieni --page-size uguale a --max-items per evitare righe mancanti/duplicate tra i blocchi.
  • Meno byte, stesso costo--projection-expression 'Artist, SongTitle' (con --expression-attribute-names per le parole riservate) restituisce solo quegli attributi, ma uno scan fattura comunque ogni byte di ogni Item letto.
  • Più veloce sulle tabelle grandi: scan parallelo — esegui N copie con --segment i --total-segments N, ciascuna paginando automaticamente la propria fetta. Stesso costo totale, tempo reale molto inferiore.
  • Vuoi filtrare già che ci sei? --filter-expression scarta gli Item dopo che sono stati letti (e fatturati) — vedi Scan con un filtro. Fai il pipe a jq? Aggiungi --output json e ricorda che i valori sono in DynamoDB JSON.

Fallo visivamente

Dare un'occhiata a una tabella non richiede un terminale pieno di DynamoDB JSON: scarica DynoTable per sfogliare qualsiasi tabella in una griglia paginata — pagina gli scan per te. E prima di fare scan-e-pagare, il calcolatore dei prezzi DynamoDB mostra quanto costa davvero una lettura completa della tua tabella.

Esempi correlati

References

Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.

Costruisci questa richiesta visivamente

Componi questa operazione nel Generatore di query DynamoDB gratuito — condizione di chiave, filtro, indice, Limit, ordine di ordinamento e un loop di paginazione — e copiala come programma eseguibile per SDK v3, CLI o boto3.

Apri il Generatore di query DynamoDB

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.