Obtenir tous les éléments de DynamoDB avec l'AWS CLI

Il n'y a pas de « select all » dans DynamoDB — lire une table entière signifie un Scan paginé. La bonne nouvelle : l'AWS CLI pagine automatiquement, effectuant en coulisses autant d'appels de service de 1 Mo que nécessaire et affichant un résultat combiné.

Code

aws dynamodb scan --table-name 'Music'

La sortie combinée contient chaque élément de la table :

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

Explication

  • Pagination automatique — contrairement aux SDK, la CLI suit LastEvaluatedKey pour toi par défaut : une commande, chaque élément. (--no-paginate la limite à un seul appel de service — le premier ~1 Mo seulement.)
  • Sortie découpée pour les grandes tables — la table complète arrive en mémoire avant l'affichage, donc pour les grandes tables lis-la en tranches : --max-items 1000 affiche 1000 éléments plus un NextToken ; reprends avec --starting-token <token>. Garde --page-size égal à --max-items pour éviter les lignes manquantes/dupliquées entre les tranches.
  • Moins d'octets, même facture--projection-expression 'Artist, SongTitle' (avec --expression-attribute-names pour les mots réservés) ne renvoie que ces attributs, mais un scan facture quand même chaque octet de chaque élément lu.
  • Plus rapide sur les grandes tables : scan parallèle — lance N copies avec --segment i --total-segments N, chacune paginant automatiquement sa propre tranche. Même coût total, temps réel bien plus court.
  • Tu en profites pour filtrer ? --filter-expression écarte les éléments après leur lecture (et facturation) — voir Scan avec un filtre. Tu redirige vers jq ? Ajoute --output json et souviens-toi que les valeurs sont en DynamoDB JSON.

À faire visuellement

Jeter un œil à une table ne nécessite pas un terminal rempli de DynamoDB JSON : télécharge DynoTable pour parcourir n'importe quelle table dans une grille paginée — il pagine les scans pour toi. Et avant de scanner-et-payer, le calculateur de tarification DynamoDB montre ce que coûte réellement une lecture complète de ta table.

Exemples liés

References

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Construis cette requête visuellement

Compose cette opération dans le Générateur de requêtes DynamoDB gratuit — condition de clé, filtre, index, Limit, ordre de tri et boucle de pagination — et copie-la en retour comme programme exécutable SDK v3, CLI ou boto3.

Ouvrir le Générateur de requêtes DynamoDB

Travaille avec DynamoDB sans la Console

DynoTable est un client de bureau rapide pour DynamoDB — parcours les tables, exécute des requêtes de style SQL et édite les items en local.