Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Attribute name conflicts with a reserved word
    • Example: If the condition expression/filter expression/projection expression contains "Comment" attribute, then the operation would fail as Comment is a reserved word in Dynamo DB. Refer to the Reserved Words section for a complete list of reserved words. To work around this, Comment can be replaced with an expression attribute name such as #c. The # (pound sign) is required and indicates that this is a placeholder for an attribute name.
  • Attribute Names Containing Dots
    • To retrieve the Safety.Warning attribute from a ProductCatalog item with the expected string value "Always wear a helmet", Dynamo DB would return an empty result as it interprets a dot in an expression as a document path separator. In this case, a substitute such as #sw can be defined for Safety.Warning and used in expressions.
  • Nested Attributes
    • To access nested attribute ProductReviews.OneStar using expression attribute name, one cannot substitute say #pr1star in projection expression. Dynamo DB would return an empty result, instead of the expected map of one-star reviews as it interprets a dot in an expression attribute value as a character within an attribute's name. 

      The correct approach would be to define an expression attribute name for each element in the document path and use #pr.#1star in projection expression.

      #pr - ProductReviews

      #1star - OneStar

  • Repeating Attribute Names

    Expression attribute names are helpful when the same attribute name has to be used repeatedly. For example, consider the following projection expression for retrieving some of the reviews from a ProductCatalog item:

    • "ProductReviews.FiveStar, ProductReviews.ThreeStar, ProductReviews.OneStar"

...

Source link: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeValues.html

Reserved Words
List#1List#2List#3List#4List#5

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

...

Code Block
{
    "Id": 123,
    "Title": "Bicycle 123",
    "Description": "123 description",
    "BicycleType": "Hybrid",
    "Brand": "Brand-Company C",
    "Price": 500,
    "Color": {"Red", "Black"},
    "ProductCategory": "Bicycle",
    "InStock": true,
    "QuantityOnHand": null,
    "RelatedItems": {
        341,
        472,
        649
    },
    "Pictures": {
        "FrontView": "http://example.com/products/123_front.jpg",
        "RearView": "http://example.com/products/123_rear.jpg",
        "SideView": "http://example.com/products/123_left_side.jpg"
    },
    "ProductReviews": {
        "FiveStar": {
                "Excellent! Can't recommend it highly enough! Buy it!",
                "Do yourself a favor and buy this."
        },
        "OneStar": {
                "Terrible product! Do not buy this."
        }
    },
    "Comment": "This product sells out quickly during the summer",
    "Safety.Warning": "Always wear a helmet"
 }

 

Expressions, Operators and Functions

...

This property is used when there is a need to process messages in parallel within the component, still maintaining the sequence from the external perspective.

 

  • This needs to be used only in such circumstances.
  • If sequential processing is not required, please use sessions on the input port.

Click the Threadpool Configuration ellipses button to configure the Threadpool Configuration properties.

Image Modified
Figure 33: Threadpool Configuration properties

Enable Thread Pool

Enable this option to configure the properties that appear as below.

Pool Size

The number of requests to be processed in parallel within the component. Default value is '1'.

Batch Eviction Interval (in ms)

Time in milliseconds after which the threads are evicted in case of inactivity. New threads are created in place of evicted threads when new requests are received. Default value is '1000'.

...

Depending on the operation type, the following parameters are taken from the input. The rest of the parameters are taken from the CPS for processing.

  • Primary key values for Get Item, Delete Item, Update Item operations.
  • Exclusive start key values for Query and Scan operations.
  • Input attributes for Put Item which also includes primary key values.
  • Expression attribute values for Put Item, Update Item, Delete Item, Query, and Scan operations.

Output format for various operations.

  • GetItem: The JSON corresponding to the primary key specified will be sent to the output. If there is no matching item in Dynamo DB for the specified key then empty JSON object will be sent if the component is configured to send an empty response in such cases via Send empty response expert property.
  • PutItem/UpdateItem/DeleteItem: If the component is configured to return NONE via Return Values parameter in CPS, then a JSON object {“success” : true} will be sent to the output. In case of Return Values parameter set to a value other than NONE, the corresponding item will be sent if exists, otherwise {“success” : true} JSON object will be sent.
  • Query/Scan/BatchGetItem: The list of items will be sent as JSON objects to the output. Each JSON object is separated by a newline. If there are no items retrieve then empty JSON will be sent if the component is configured to send an empty response via Send empty response expert property.
  • BatchWriteItem: The output will be a JSON object which has information about Unprocessed items if any resulting out of the operation.

DynamoDB instance which is set up locally."

Adaptavist ThemeBuilder EngineAtlassian Confluence