![AWS DynamoDB reserved Keywords List AWS DynamoDB reserved Keywords List](https://code2care.org/q/573-list-of-reserved-keywords-in-aws-dynamodb/images/AWS DynamoDB reserved Keywords List.png)
Like any other programming language or database, AWS DynamoDB also has a list of keywords that are reserved.
If you make use of them you will get an ValidationException error.
Error: ValidationException: Invalid KeyConditionExpression:
Attribute CLOSE is a reserved keyword
How to make use of the reserved keywords
If you need to make use of the reserved keywords as an attribute name in your expression, you can replace the reserved keyword with #(some character) and add an expression "expression-attribute-names" as shown below.
aws dynamodb get-item \
--table-name InventoryMaster \
--key '{"Id":{"N":"489282"}}' \
--projection-expression "GENERAL"
aws dynamodb get-item \
--table-name InventoryMaster \
--key '{"Id":{"N":"123"}}' \
--projection-expression "#g" \
--expression-attribute-names '{"#c":"GENERAL"}'
Lis of reserved keywords
- ABORT
- ABSOLUTE
- ACTION
- ADD
- AFTER
- AGENT
- AGGREGATE
- ALL
- ALLOCATE
- ALTER
- ANALYZE
- AND
- ANY
- ARCHIVE
- ARE
- ARRAY
- AS
- ASC
- ASCII
- ASENSITIVE
- ASSERTION
- ASYMMETRIC
- AT
- ATOMIC
- ATTACH
- ATTRIBUTE
- AUTH
- AUTHORIZATION
- AUTHORIZE
- AUTO
- AVG
- BACK
- BACKUP
- BASE
- BATCH
- BEFORE
- BEGIN
- BETWEEN
- BIGINT
- BINARY
- BIT
- BLOB
- BLOCK
- BOOLEAN
- BOTH
- BREADTH
- BUCKET
- BULK
- BY
- BYTE
- CALL
- CALLED
- CALLING
- CAPACITY
- CASCADE
- CASCADED
- CASE
- CAST
- CATALOG
- CHAR
- CHARACTER
- CHECK
- CLASS
- CLOB
- CLOSE
- CLUSTER
- CLUSTERED
- CLUSTERING
- CLUSTERS
- COALESCE
- COLLATE
- COLLATION
- COLLECTION
- COLUMN
- COLUMNS
- COMBINE
- COMMENT
- COMMIT
- COMPACT
- COMPILE
- COMPRESS
- CONDITION
- CONFLICT
- CONNECT
- CONNECTION
- CONSISTENCY
- CONSISTENT
- CONSTRAINT
- CONSTRAINTS
- CONSTRUCTOR
- CONSUMED
- CONTINUE
- CONVERT
- COPY
- CORRESPONDING
- COUNT
- COUNTER
- CREATE
- CROSS
- CUBE
- CURRENT
- CURSOR
- CYCLE
- DATA
- DATABASE
- DATE
- DATETIME
- DAY
- DEALLOCATE
- DEC
- DECIMAL
- DECLARE
- DEFAULT
- DEFERRABLE
- DEFERRED
- DEFINE
- DEFINED
- DEFINITION
- DELETE
- DELIMITED
- DEPTH
- DEREF
- DESC
- DESCRIBE
- DESCRIPTOR
- DETACH
- DETERMINISTIC
- DIAGNOSTICS
- DIRECTORIES
- DISABLE
- DISCONNECT
- DISTINCT
- DISTRIBUTE
- DO
- DOMAIN
- DOUBLE
- DROP
- DUMP
- DURATION
- DYNAMIC
- EACH
- ELEMENT
- ELSE
- ELSEIF
- EMPTY
- ENABLE
- END
- EQUAL
- EQUALS
- ERROR
- ESCAPE
- ESCAPED
- EVAL
- EVALUATE
- EXCEEDED
- EXCEPT
- EXCEPTION
- EXCEPTIONS
- EXCLUSIVE
- EXEC
- EXECUTE
- EXISTS
- EXIT
- EXPLAIN
- EXPLODE
- EXPORT
- EXPRESSION
- EXTENDED
- EXTERNAL
- EXTRACT
- FAIL
- FALSE
- FAMILY
- FETCH
- FIELDS
- FILE
- FILTER
- FILTERING
- FINAL
- FINISH
- FIRST
- FIXED
- FLATTERN
- FLOAT
- FOR
- FORCE
- FOREIGN
- FORMAT
- FORWARD
- FOUND
- FREE
- FROM
- FULL
- FUNCTION
- FUNCTIONS
- GENERAL
- GENERATE
- GET
- GLOB
- GLOBAL
- GO
- GOTO
- GRANT
- GREATER
- GROUP
- GROUPING
- HANDLER
- HASH
- HAVE
- HAVING
- HEAP
- HIDDEN
- HOLD
- HOUR
- IDENTIFIED
- IDENTITY
- IF
- IGNORE
- IMMEDIATE
- IMPORT
- IN
- INCLUDING
- INCLUSIVE
- INCREMENT
- INCREMENTAL
- INDEX
- INDEXED
- INDEXES
- INDICATOR
- INFINITE
- INITIALLY
- INLINE
- INNER
- INNTER
- INOUT
- INPUT
- INSENSITIVE
- INSERT
- INSTEAD
- INT
- INTEGER
- INTERSECT
- INTERVAL
- INTO
- INVALIDATE
- IS
- ISOLATION
- ITEM
- ITEMS
- ITERATE
- JOIN
- KEY
- KEYS
- LAG
- LANGUAGE
- LARGE
- LAST
- LATERAL
- LEAD
- LEADING
- LEAVE
- LEFT
- LENGTH
- LESS
- LEVEL
- LIKE
- LIMIT
- LIMITED
- LINES
- LIST
- LOAD
- LOCAL
- LOCALTIME
- LOCALTIMESTAMP
- LOCATION
- LOCATOR
- LOCK
- LOCKS
- LOG
- LOGED
- LONG
- LOOP
- LOWER
- MAP
- MATCH
- MATERIALIZED
- MAX
- MAXLEN
- MEMBER
- MERGE
- METHOD
- METRICS
- MIN
- MINUS
- MINUTE
- MISSING
- MOD
- MODE
- MODIFIES
- MODIFY
- MODULE
- MONTH
- MULTI
- MULTISET
- NAME
- NAMES
- NATIONAL
- NATURAL
- NCHAR
- NCLOB
- NEW
- NEXT
- NO
- NONE
- NOT
- NULL
- NULLIF
- NUMBER
- NUMERIC
- OBJECT
- OF
- OFFLINE
- OFFSET
- OLD
- ON
- ONLINE
- ONLY
- OPAQUE
- OPEN
- OPERATOR
- OPTION
- OR
- ORDER
- ORDINALITY
- OTHER
- OTHERS
- OUT
- OUTER
- OUTPUT
- OVER
- OVERLAPS
- OVERRIDE
- OWNER
- PAD
- PARALLEL
- PARAMETER
- PARAMETERS
- PARTIAL
- PARTITION
- PARTITIONED
- PARTITIONS
- PATH
- PERCENT
- PERCENTILE
- PERMISSION
- PERMISSIONS
- PIPE
- PIPELINED
- PLAN
- POOL
- POSITION
- PRECISION
- PREPARE
- PRESERVE
- PRIMARY
- PRIOR
- PRIVATE
- PRIVILEGES
- PROCEDURE
- PROCESSED
- PROJECT
- PROJECTION
- PROPERTY
- PROVISIONING
- PUBLIC
- PUT
- QUERY
- QUIT
- QUORUM
- RAISE
- RANDOM
- RANGE
- RANK
- RAW
- READ
- READS
- REAL
- REBUILD
- RECORD
- RECURSIVE
- REDUCE
- REF
- REFERENCE
- REFERENCES
- REFERENCING
- REGEXP
- REGION
- REINDEX
- RELATIVE
- RELEASE
- REMAINDER
- RENAME
- REPEAT
- REPLACE
- REQUEST
- RESET
- RESIGNAL
- RESOURCE
- RESPONSE
- RESTORE
- RESTRICT
- RESULT
- RETURN
- RETURNING
- RETURNS
- REVERSE
- REVOKE
- RIGHT
- ROLE
- ROLES
- ROLLBACK
- ROLLUP
- ROUTINE
- ROW
- ROWS
- RULE
- RULES
- SAMPLE
- SATISFIES
- SAVE
- SAVEPOINT
- SCAN
- SCHEMA
- SCOPE
- SCROLL
- SEARCH
- SECOND
- SECTION
- SEGMENT
- SEGMENTS
- SELECT
- SELF
- SEMI
- SENSITIVE
- SEPARATE
- SEQUENCE
- SERIALIZABLE
- SESSION
- SET
- SETS
- SHARD
- SHARE
- SHARED
- SHORT
- SHOW
- SIGNAL
- SIMILAR
- SIZE
- SKEWED
- SMALLINT
- SNAPSHOT
- SOME
- SOURCE
- SPACE
- SPACES
- SPARSE
- SPECIFIC
- SPECIFICTYPE
- SPLIT
- SQL
- SQLCODE
- SQLERROR
- SQLEXCEPTION
- SQLSTATE
- SQLWARNING
- START
- STATE
- STATIC
- STATUS
- STORAGE
- STORE
- STORED
- STREAM
- STRING
- STRUCT
- STYLE
- SUB
- SUBMULTISET
- SUBPARTITION
- SUBSTRING
- SUBTYPE
- SUM
- SUPER
- SYMMETRIC
- SYNONYM
- SYSTEM
- TABLE
- TABLESAMPLE
- TEMP
- TEMPORARY
- TERMINATED
- TEXT
- THAN
- THEN
- THROUGHPUT
- TIME
- TIMESTAMP
- TIMEZONE
- TINYINT
- TO
- TOKEN
- TOTAL
- TOUCH
- TRAILING
- TRANSACTION
- TRANSFORM
- TRANSLATE
- TRANSLATION
- TREAT
- TRIGGER
- TRIM
- TRUE
- TRUNCATE
- TTL
- TUPLE
- TYPE
- UNDER
- UNDO
- UNION
- UNIQUE
- UNIT
- UNKNOWN
- UNLOGGED
- UNNEST
- UNPROCESSED
- UNSIGNED
- UNTIL
- UPDATE
- UPPER
- URL
- USAGE
- USE
- USER
- USERS
- USING
- UUID
- VACUUM
- VALUE
- VALUED
- VALUES
- VARCHAR
- VARIABLE
- VARIANCE
- VARINT
- VARYING
- VIEW
- VIEWS
- VIRTUAL
- VOID
- WAIT
- WHEN
- WHENEVER
- WHERE
- WHILE
- WINDOW
- WITH
- WITHIN
- WITHOUT
- WORK
- WRAPPED
- WRITE
- YEAR
- ZONE
Note: These reserved keywords are not case-sensitive is a important point to remember.
Facing issues? Have Questions? Post them here! I am happy to answer!
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
- Get the total size and number of objects of a AWS S3 bucket and folders
- How to Create AWS SNS Topic using AWS CLI
- Fix: Amazon Linux bash: sudo: command not found
- [Solution] AWS Java SDK S3 AmazonS3Exception InvalidAccessKeyId
- Create an AWS User using CLI2 Command at a specific Path
- Fix: Missing the following required SSO configuration values: sso_start_url, sso_region
- Fix: zsh: command not found: aws (Mac/macOS)
- Configure AWS Access ID and Secret Keys using CLI on Mac
- Quick way to setup AWS DynamoDB locally on macOS
- Most Essencial AWS CLI 2 S3 ls Command Options
- How to Check AWS SNS Permissions using CLI
- AWS CLI Change Default Output Format
- How to install AWS CLI on Ubuntu
- Quick way to install AWS CLI for macOS Terminal
- Install AWS CLI using Brew Command
- AWS CLI Command to Get a List of SNS Topics
- Get List of AWS SNS Topic Subscriptions using CLI
- How to Setup AWS Credentials using Visual Studio Code
- Installing AWS CLI Version 2 on macOS Sonoma using Terminal
- AW3 CLI command to get list of all region names
- AWS SNS CLI Command Publish Message Attributes
- Create an S3 bucket in a specific AWS region using CLI Command
- [Fix] zsh: command not found: awscli [Mac Terminal]
- Understanding AWS Calculator: DynamoDB on-demand capacity
- [Solution] com.amazonaws.dynamodb.v20120810 MissingAuthenticationToken Key Id or X.509 certificate
- java: cannot infer type for local variable, cannot use var on variable without initializer - Java
- Command to unzip or extract tar.gz file on Linux or macOS? - Linux
- MySQL Error :1007 SQLSTATE: HY000 (ER_DB_CREATE_EXISTS) Message: Can't create database '%s'; database exists - MySQL
- Mac Terminal Find Command History - MacOS
- Fix: Failed in attempting to update the source: winget - Windows
- [Notepad++] Remove CR Carriage Return and LF Line feed (CRLF) - NotepadPlusPlus
- Toast not getting displayed Android App - Android
- How to Exit a Loop in Python Code - Python