Vérificateur de mots réservés DynamoDB
Colle tes noms d’attributs pour voir lesquels entrent en collision avec les mots réservés de DynamoDB, et copie une map ExpressionAttributeNames qui les aliase en toute sécurité.
Pourquoi les mots réservés comptent
DynamoDB tient une longue liste de mots-clés réservés qu’il n’acceptera pas comme nom d’attribut nu dans une expression. Des noms courants — name, status, size, count, timestamp, year — y figurent. Référence l’un d’eux directement et la requête échoue avec une ValidationException, généralement à l’exécution plutôt qu’en revue.
La solution est un expression attribute name : un placeholder # qui remplace le vrai nom, associé à une map ExpressionAttributeNames. Ce vérificateur fait correspondre tes noms sans tenir compte de la casse à la liste complète et construit cette map pour les noms réservés automatiquement, pour que tu puisses la coller directement dans une requête GetItem, Query, Update ou Delete.
Aliaser est une petite habitude qui évite toute une catégorie d’erreurs — les noms et valeurs d’attributs d’expression explique les placeholders en profondeur, et le Expression Builder aliase chaque nom pour toi au fur et à mesure que tu construis.
Questions fréquentes
Que sont les mots réservés DynamoDB ?
DynamoDB réserve une longue liste de mots-clés — environ 573 — qui ne peuvent pas être utilisés directement comme noms d’attributs dans une expression. Des noms comme name, status, timestamp, size et count sont tous réservés. Si tu en références un directement dans une expression de projection, de filtre, de condition ou de mise à jour, DynamoDB renvoie une ValidationException avec le message « Attribute name is a reserved keyword ».
Comment utiliser un mot réservé comme nom d’attribut ?
Aliase-le avec un expression attribute name — un placeholder qui commence par # et correspond au vrai nom. Par exemple, référence #name dans ton expression et passe ExpressionAttributeNames de { "#name": "name" }. Cet outil génère cette map pour chaque nom réservé que tu saisis, prête à coller dans ta requête.
La liste des mots réservés est-elle sensible à la casse ?
Non. La liste des mots réservés de DynamoDB n’est pas sensible à la casse, donc Name, name et NAME sont tous traités comme le mot réservé NAME. Ce vérificateur fait la correspondance sans tenir compte de la casse, exactement comme DynamoDB.
Dois-je aliaser chaque nom d’attribut ?
Seuls les noms réservés nécessitent un alias, mais beaucoup d’équipes aliasent chaque nom par habitude pour ne jamais rencontrer l’erreur et pour que les expressions se lisent de façon cohérente. Aliaser un nom non réservé est toujours sans risque. Cet outil signale exactement lesquels de tes noms sont réservés pour que tu puisses décider.