Is it possible to combine if_not_exists and list_append in update_item

An alternative to Boris solution could be to use set instead of list datatype and use the ADD keyword, it does exactly what you want.

With Add, the update expression becomes: ADD setName :s

And the expression attribute values can be like: {":s": {"SS":["First", "Second"]}}

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.ADD


You can use list_append(if_not_exists()) construction.

UpdateExpression:

'SET my_list2 = list_append(if_not_exists(my_list2, :empty_list), :my_value)'

ExpressionAttributeValues:

{ ":my_value":{"L": [{"S":"test"}]}, ":empty_list":{"L":[]} }