DynamoDB peut-il exporter vers S3 ?
Oui. DynamoDB dispose d'un export intégré vers Amazon S3 qui écrit un instantané complet ou incrémental d'une table, depuis n'importe quel point des 35 derniers jours, en DynamoDB JSON ou Amazon Ion. Il exige la récupération à un instant dans le passé (PITR), s'exécute de façon asynchrone, et ne consomme aucune capacité de lecture.
Exports complets et incrémentaux
Un export complet capture toute la table (données plus index secondaires locaux) telle qu'elle existait au point dans le temps que tu choisis. Un export incrémental ne capture que les données ajoutées, mises à jour ou supprimées pendant une fenêtre temporelle que tu spécifies, entre 15 minutes et 24 heures. Les deux s'exécutent de façon asynchrone, sans impact sur les performances ni la disponibilité de la table.
Prérequis et destinations
Le seul prérequis est PITR activé sur la table ; l'export lit tes sauvegardes continues, pas la table en direct. Tu peux exporter vers un bucket S3 d'un autre compte AWS, et même d'une autre Région, et les données sont chiffrées de bout en bout.
La sortie n'est pas du CSV
Les exports sont écrits en DynamoDB JSON ou Amazon Ion — le format de transport étiqueté par type, avec les descripteurs {"S": ...} et {"N": ...} — jamais en CSV. Obtenir un tableur à partir d'un export implique un second saut par Athena, Glue ou un script ; le guide d'export vers CSV passe en revue toutes les options.
Ce que ça coûte
Les exports complets sont facturés sur la taille de la table au point dans le temps choisi ; les exports incrémentaux sur la taille des données traitées depuis les sauvegardes continues (avec un minimum facturé de 10 Mo). Le stockage S3 et les requêtes PUT sont facturés à part.
Exporter n'est pas la façon économique de lire une table
Chiffre-le sur une table de 100 Go dans us-east-1. L'export coûte 0,10 $ par Go, soit 10,00 $. Lire les mêmes 100 Go avec un Scan en cohérence à terme consomme 13 107 200 unités de lecture, soit 1,64 $ à la demande. L'export coûte six fois plus cher avant même de compter son prérequis : PITR coûte 0,20 $ par Go-mois, donc garder cette table exportable revient à 20 $ par mois, que tu lances un export ou non.
Ce que l'argent achète, c'est la capacité. Le Scan demande environ 44 minutes à 5 000 RCU et dépense chacune de ces unités sur la table même que ton application lit : sur une table provisionnée chargée, tu throttles la production ou tu provisionnes pour le travail. Un export ne touche à aucune capacité de table, ne peut rien throttler, et te rend un point dans le temps cohérent. Scanne une table petite, inactive ou dont tu n'as besoin que d'une partie ; exporte une table en production.
Traite 1,64 $ comme un plancher. AWS note que les tables éparses ou très volumineuses peuvent se voir facturer des unités de lecture au-delà des données réellement scannées.
Aller plus loin
Suis le guide d'export vers CSV pour le flux complet, déballe les éléments exportés dans le convertisseur DynamoDB JSON, ou télécharge DynoTable pour parcourir et exporter les données de tes tables directement depuis ton bureau.
Références
- DynamoDB data export to Amazon S3: how it works — Amazon DynamoDB Developer Guide
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Point-in-time backups for DynamoDB — Amazon DynamoDB Developer Guide
- Amazon DynamoDB pricing
- Scanning tables in DynamoDB — Amazon DynamoDB Developer Guide, revérifié le 2026-07-28 sur la façon dont un
Scanconsomme la capacité de lecture.
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.
Chiffré le 2026-07-28 avec les tarifs d'export, de PITR et de requêtes lus dans l'AWS Price List API pour us-east-1. L'arrondi aux 4 Ko sur lequel repose le chiffre du Scan a été mesuré plutôt que supposé : scanner 998 Ko d'éléments sur DynamoDB Local 3.3.0 a rapporté 125 unités de lecture, ce qui correspond au modèle agrégé et exclut l'arrondi par élément.