Échec d'import DynamoDB depuis S3 — format invalide
TL;DR — ImportTable s'est terminé avec le statut FAILED, FailureCode: ItemValidationError, et le message « Some of the items failed validation checks and were not imported. » Les objets source ne correspondent pas au InputFormat/InputCompressionType que tu as déclaré, ou les éléments n'ont pas de clé primaire. Corrige le format/la compression pour qu'ils correspondent aux objets, confirme que chaque élément porte la clé, et relance l'import.
Ce que ça signifie
"FailureCode": "ItemValidationError",
"FailureMessage": "Some of the items failed validation checks and were not
imported. Please check CloudWatch error logs for more details."
# In /aws-dynamodb/imports CloudWatch logs:
ValidationException: One or more parameter values were invalid: Missing the key pk in the itemL'import DynamoDB depuis S3 valide chaque objet par rapport au format et à la compression que tu as déclarés dans l'appel ImportTable — le InputFormat (DYNAMODB_JSON, ION ou CSV) et le InputCompressionType (GZIP, ZSTD ou NONE) prennent le pas sur l'extension de fichier. Si les octets ne s'analysent pas comme déclaré, ou si un élément n'a pas la clé primaire de la table, cet élément est ignoré (l'import continue avec l'élément suivant) et le job se termine en FAILED.
Pourquoi ça arrive
- Incohérence de format — tu as spécifié
DYNAMODB_JSONmais les objets sont en réalité du CSV (ou du JSON simple), donc rien ne s'analyse. - Incohérence de compression — les objets sous le préfixe sont compressés différemment (certains en GZIP, d'autres en NONE) ; ils doivent tous utiliser la même.
- Compression non prise en charge — seules
GZIP,ZSTDouNONEsont autorisées ; les autres codecs échouent. - Clé primaire manquante — un élément CSV/JSON n'a aucune colonne/aucun attribut correspondant à la clé de partition (ou de tri) déclarée : « Missing the key pk in the item. »
- Incohérence de type de clé — le type de la clé importée ne correspond pas aux
AttributeDefinitionsde la table (par ex. une clé numérique importée comme chaîne). - Un objet non analysable sous le préfixe — chaque objet correspondant au préfixe est lu comme donnée, donc un fichier de remplissage égaré ou malformé échoue à la validation.
Comment le corriger
- Fais correspondre
InputFormataux octets réels — fichiers CSV →CSV, DynamoDB JSON →DYNAMODB_JSON, Amazon Ion →ION. - Fais en sorte que chaque objet sous le préfixe utilise la même compression, et règle
InputCompressionTypeen conséquence (GZIP/ZSTD/NONE). - Assure-toi que chaque élément a la clé primaire — pour le CSV, inclus la colonne de clé (et l'en-tête) avec un nom correspondant au
KeySchemadéclaré. - Fais correspondre les types d'attribut de clé aux
AttributeDefinitionsde la table (S/N/B). - Lis les journaux d'erreur CloudWatch dans
/aws-dynamodb/imports, flux de journal<import-id>/error, pour la raison exacte par élément. - Ne garde que des objets de données analysables sous le préfixe ; téléverse les données via CLI/SDK plutôt que de créer des dossiers dans la console.
Tu construis le fichier d'import à partir de données existantes ? L'application de bureau DynoTable exporte et prévisualise le DynamoDB JSON, pour que tu puisses vérifier le format et la présence de la clé primaire avant de pousser les objets vers S3.
Workbench DynoTable
Valide tes fichiers d'import avant l'envoi — exporte un élément d'exemple depuis DynoTable en JSON DynamoDB (⌘K → copier l'élément) et confirme les attributs de clé dans le convertisseur JSON. Vérifie la taille des éléments avec le calculateur de taille d'élément quand de gros objets provoquent des échecs d'analyse.
Configure le profil du compte S3 sous Settings → Profiles avec Test Connection ; change avec ⌘P. Vois Se connecter à AWS et Installation.
Sources
- Import format quotas and validation (vérifié le 2026-07-13)
- ImportTable — Amazon DynamoDB API Reference (vérifié le 2026-07-13)
Erreurs liées
- ResourceInUseException — le nom de la table cible de l'import existe déjà.
- The provided key element does not match the schema — une incohérence de type de clé.
- Apprends : Marshalling DynamoDB JSON · Exporter DynamoDB en CSV
Références
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.