Outil gratuit

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é.

Noms d’attributs

Saisis un nom d’attribut par ligne (les virgules et les espaces fonctionnent aussi). Chacun est vérifié, sans tenir compte de la casse, par rapport à la liste complète des mots réservés DynamoDB.

4 noms sur 6 sont réservés et doivent être aliasés.
  • name#nameRéservé
  • status#statusRéservé
  • timestamp#timestampRéservé
  • userIdOK
  • count#countRéservé
  • emailOK
ExpressionAttributeNames
{
  "#name": "name",
  "#status": "status",
  "#timestamp": "timestamp",
  "#count": "count"
}

Référence chaque nom réservé par son alias # dans ton expression, et passe cette map comme ExpressionAttributeNames.

@dynotable/dynamodb-reserved-words est la bibliothèque open source (MIT) derrière cet outil.

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.

La liste complète des mots réservés DynamoDB

Les 573 mots réservés, exactement comme AWS les publie. La correspondance ne tient pas compte de la casse, donc `size`, `Size` et `SIZE` sont tous réservés. Tout nom d'attribut figurant sur cette liste doit être aliasé avec un expression attribute name avant de pouvoir être utilisé dans une expression.

A
ABORTABSOLUTEACTIONADDAFTERAGENTAGGREGATEALLALLOCATEALTERANALYZEANDANYARCHIVEAREARRAYASASCASCIIASENSITIVEASSERTIONASYMMETRICATATOMICATTACHATTRIBUTEAUTHAUTHORIZATIONAUTHORIZEAUTOAVG
B
BACKBACKUPBASEBATCHBEFOREBEGINBETWEENBIGINTBINARYBITBLOBBLOCKBOOLEANBOTHBREADTHBUCKETBULKBYBYTE
C
CALLCALLEDCALLINGCAPACITYCASCADECASCADEDCASECASTCATALOGCHARCHARACTERCHECKCLASSCLOBCLOSECLUSTERCLUSTEREDCLUSTERINGCLUSTERSCOALESCECOLLATECOLLATIONCOLLECTIONCOLUMNCOLUMNSCOMBINECOMMENTCOMMITCOMPACTCOMPILECOMPRESSCONDITIONCONFLICTCONNECTCONNECTIONCONSISTENCYCONSISTENTCONSTRAINTCONSTRAINTSCONSTRUCTORCONSUMEDCONTINUECONVERTCOPYCORRESPONDINGCOUNTCOUNTERCREATECROSSCUBECURRENTCURSORCYCLE
D
DATADATABASEDATEDATETIMEDAYDEALLOCATEDECDECIMALDECLAREDEFAULTDEFERRABLEDEFERREDDEFINEDEFINEDDEFINITIONDELETEDELIMITEDDEPTHDEREFDESCDESCRIBEDESCRIPTORDETACHDETERMINISTICDIAGNOSTICSDIRECTORIESDISABLEDISCONNECTDISTINCTDISTRIBUTEDODOMAINDOUBLEDROPDUMPDURATIONDYNAMIC
E
EACHELEMENTELSEELSEIFEMPTYENABLEENDEQUALEQUALSERRORESCAPEESCAPEDEVALEVALUATEEXCEEDEDEXCEPTEXCEPTIONEXCEPTIONSEXCLUSIVEEXECEXECUTEEXISTSEXITEXPLAINEXPLODEEXPORTEXPRESSIONEXTENDEDEXTERNALEXTRACT
F
FAILFALSEFAMILYFETCHFIELDSFILEFILTERFILTERINGFINALFINISHFIRSTFIXEDFLATTERNFLOATFORFORCEFOREIGNFORMATFORWARDFOUNDFREEFROMFULLFUNCTIONFUNCTIONS
G
GENERALGENERATEGETGLOBGLOBALGOGOTOGRANTGREATERGROUPGROUPING
H
HANDLERHASHHAVEHAVINGHEAPHIDDENHOLDHOUR
I
IDENTIFIEDIDENTITYIFIGNOREIMMEDIATEIMPORTININCLUDINGINCLUSIVEINCREMENTINCREMENTALINDEXINDEXEDINDEXESINDICATORINFINITEINITIALLYINLINEINNERINNTERINOUTINPUTINSENSITIVEINSERTINSTEADINTINTEGERINTERSECTINTERVALINTOINVALIDATEISISOLATIONITEMITEMSITERATE
J
JOIN
K
KEYKEYS
L
LAGLANGUAGELARGELASTLATERALLEADLEADINGLEAVELEFTLENGTHLESSLEVELLIKELIMITLIMITEDLINESLISTLOADLOCALLOCALTIMELOCALTIMESTAMPLOCATIONLOCATORLOCKLOCKSLOGLOGEDLONGLOOPLOWER
M
MAPMATCHMATERIALIZEDMAXMAXLENMEMBERMERGEMETHODMETRICSMINMINUSMINUTEMISSINGMODMODEMODIFIESMODIFYMODULEMONTHMULTIMULTISET
N
NAMENAMESNATIONALNATURALNCHARNCLOBNEWNEXTNONONENOTNULLNULLIFNUMBERNUMERIC
O
OBJECTOFOFFLINEOFFSETOLDONONLINEONLYOPAQUEOPENOPERATOROPTIONORORDERORDINALITYOTHEROTHERSOUTOUTEROUTPUTOVEROVERLAPSOVERRIDEOWNER
P
PADPARALLELPARAMETERPARAMETERSPARTIALPARTITIONPARTITIONEDPARTITIONSPATHPERCENTPERCENTILEPERMISSIONPERMISSIONSPIPEPIPELINEDPLANPOOLPOSITIONPRECISIONPREPAREPRESERVEPRIMARYPRIORPRIVATEPRIVILEGESPROCEDUREPROCESSEDPROJECTPROJECTIONPROPERTYPROVISIONINGPUBLICPUT
Q
QUERYQUITQUORUM
R
RAISERANDOMRANGERANKRAWREADREADSREALREBUILDRECORDRECURSIVEREDUCEREFREFERENCEREFERENCESREFERENCINGREGEXPREGIONREINDEXRELATIVERELEASEREMAINDERRENAMEREPEATREPLACEREQUESTRESETRESIGNALRESOURCERESPONSERESTORERESTRICTRESULTRETURNRETURNINGRETURNSREVERSEREVOKERIGHTROLEROLESROLLBACKROLLUPROUTINEROWROWSRULERULES
S
SAMPLESATISFIESSAVESAVEPOINTSCANSCHEMASCOPESCROLLSEARCHSECONDSECTIONSEGMENTSEGMENTSSELECTSELFSEMISENSITIVESEPARATESEQUENCESERIALIZABLESESSIONSETSETSSHARDSHARESHAREDSHORTSHOWSIGNALSIMILARSIZESKEWEDSMALLINTSNAPSHOTSOMESOURCESPACESPACESSPARSESPECIFICSPECIFICTYPESPLITSQLSQLCODESQLERRORSQLEXCEPTIONSQLSTATESQLWARNINGSTARTSTATESTATICSTATUSSTORAGESTORESTOREDSTREAMSTRINGSTRUCTSTYLESUBSUBMULTISETSUBPARTITIONSUBSTRINGSUBTYPESUMSUPERSYMMETRICSYNONYMSYSTEM
T
TABLETABLESAMPLETEMPTEMPORARYTERMINATEDTEXTTHANTHENTHROUGHPUTTIMETIMESTAMPTIMEZONETINYINTTOTOKENTOTALTOUCHTRAILINGTRANSACTIONTRANSFORMTRANSLATETRANSLATIONTREATTRIGGERTRIMTRUETRUNCATETTLTUPLETYPE
U
UNDERUNDOUNIONUNIQUEUNITUNKNOWNUNLOGGEDUNNESTUNPROCESSEDUNSIGNEDUNTILUPDATEUPPERURLUSAGEUSEUSERUSERSUSINGUUID
V
VACUUMVALUEVALUEDVALUESVARCHARVARIABLEVARIANCEVARINTVARYINGVIEWVIEWSVIRTUALVOID
W
WAITWHENWHENEVERWHEREWHILEWINDOWWITHWITHINWITHOUTWORKWRAPPEDWRITE
Y
YEAR
Z
ZONE

Reprise mot pour mot de la référence AWS « Reserved words in DynamoDB ». Colle tes noms d'attributs dans le vérificateur ci-dessus pour obtenir les alias et la map ExpressionAttributeNames générés pour toi.

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.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.