무료 도구

DynamoDB 예약어 검사기

속성 이름을 붙여넣어 어떤 것이 DynamoDB 예약어와 충돌하는지 확인하고, 이를 안전하게 별칭 지정하는 ExpressionAttributeNames 맵을 복사하세요.

속성 이름

한 줄에 하나씩 속성 이름을 입력하세요(쉼표와 공백도 사용 가능). 각 이름은 대소문자를 구분하지 않고 DynamoDB 예약어 전체 목록과 대조하여 확인합니다.

6개 이름 중 4개가 예약어이므로 별칭을 지정해야 합니다.
  • name#name예약어
  • status#status예약어
  • timestamp#timestamp예약어
  • userId정상
  • count#count예약어
  • email정상
ExpressionAttributeNames
{
  "#name": "name",
  "#status": "status",
  "#timestamp": "timestamp",
  "#count": "count"
}

표현식에서 각 예약어를 # 별칭으로 참조하고, 이 맵을 ExpressionAttributeNames로 전달하세요.

@dynotable/dynamodb-reserved-words 는 이 도구의 바탕이 되는 오픈 소스(MIT) 라이브러리입니다.

예약어가 중요한 이유

DynamoDB는 표현식 안에서 별칭 없는 속성 이름으로 받아들이지 않는 긴 예약 키워드 목록을 유지합니다. 일상적인 이름 — name, status, size, count, timestamp, year — 이 여기에 포함됩니다. 이를 직접 참조하면 요청은 ValidationException으로 실패하며, 보통 검토 단계가 아니라 런타임에 발생합니다.

해결책은 표현식 속성 이름입니다. 실제 이름을 대신하는 # 플레이스홀더에 ExpressionAttributeNames 맵을 짝지은 것입니다. 이 검사기는 이름을 전체 목록과 대소문자 구분 없이 대조하고 예약어에 대한 그 맵을 자동으로 만들어, GetItem, Query, Update, Delete 요청에 바로 붙여넣을 수 있게 합니다.

별칭 지정은 한 부류의 오류 전체를 피하는 작은 습관입니다 — 표현식 속성 이름과 값 은 플레이스홀더를 심도 있게 설명하며, Expression Builder 은 여러분이 만드는 동안 모든 이름에 별칭을 대신 지정합니다.

DynamoDB 예약어 전체 목록

AWS가 발표한 그대로의 전체 573개 예약어입니다. 대소문자를 구분하지 않고 대조하므로 `size`, `Size`, `SIZE`는 모두 예약어입니다. 이 목록에 있는 속성 이름은 표현식에서 사용하기 전에 반드시 표현식 속성 이름으로 별칭을 지정해야 합니다.

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

AWS의 “DynamoDB 예약어” 참고 문서에서 그대로 가져왔습니다. 위 검사기에 속성 이름을 붙여넣으면 별칭과 ExpressionAttributeNames 맵을 자동으로 생성해 드립니다.

자주 묻는 질문

DynamoDB 예약어란 무엇인가요?

DynamoDB는 표현식 안에서 속성 이름으로 직접 사용할 수 없는 방대한 키워드 목록 — 약 573개 — 을 예약합니다. name, status, timestamp, size, count 같은 이름은 모두 예약어입니다. 프로젝션, 필터, 조건, 업데이트 표현식에서 이를 직접 참조하면 DynamoDB는 “Attribute name is a reserved keyword” 메시지와 함께 ValidationException을 반환합니다.

예약어를 속성 이름으로 사용하려면 어떻게 하나요?

표현식 속성 이름으로 별칭을 지정하세요 — #로 시작하며 실제 이름에 매핑되는 플레이스홀더입니다. 예를 들어 표현식에서 #name을 참조하고 ExpressionAttributeNames로 { "#name": "name" }을 전달하세요. 이 도구는 입력한 모든 예약어에 대해 요청에 바로 붙여넣을 수 있는 그 맵을 생성합니다.

예약어 목록은 대소문자를 구분하나요?

아니요. DynamoDB의 예약어 목록은 대소문자를 구분하지 않으므로 Name, name, NAME은 모두 예약어 NAME으로 취급됩니다. 이 검사기는 DynamoDB와 똑같이 대소문자를 구분하지 않고 대조합니다.

모든 속성 이름에 별칭을 지정해야 하나요?

예약어만 별칭이 필요하지만, 많은 팀은 오류를 절대 마주치지 않고 표현식을 일관되게 읽기 위해 습관적으로 모든 이름에 별칭을 지정합니다. 예약어가 아닌 이름에 별칭을 지정해도 항상 안전합니다. 이 도구는 어떤 이름이 예약어인지 정확히 표시하여 여러분이 결정할 수 있게 합니다.

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.