DynamoDB Update Item
Terms
path
: Item의 문서 경로 EX) user, info.name, #namevalue
:path
에 대입할 값 EX) :nameoperand
:path
orvalue
.
ConditionExpression
- Comparator
a = b
a <> b
: a와 b가 다르면 Truea < b
a <= b
a > b
a >= b
a BETWEEN b AND c
:(b <= a) AND (a <= c)
a IN (b, c)
:(a = b) OR (a = c)
, 리스트는 최대 100개 까지 설정할 수 있음
- Function
attribute_exists(path)
attribute_not_exists(path)
attribute_type(path, type)
contains(path, operand)
begins_with(path, substr)
size(path)
- Logical
a AND b
a OR b
NOT a
info
boto3.dynamodb.conditions
을 이용해서 표현할 수 있습니다.
UpdateExpression
SET path = value [, path = value]
SET path = value
SET path = operand + operand
SET path = operand - operand
SET path = list_append(operand, operand)
REMOVE path [, path]
info
SET path=value REMOVE path
처럼 여러 액션을 수행할 수도 있습니다.
ExpressionAttributeNames
ExpressionAttributeValues
ReturnValues
NONE
: 기본값ALL_OLD
UPDATED_OLD
: 업데이트하기 전path
의 값만 반환ALL_NEW
UPDATED_NEW
ReturnConsumedCapacity
INDEXES
: 기본 테이블 + 인덱스 테이블TOTAL
: 기본 테이블NONE
Reference
- https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Client.update_item
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html