原子地将项添加到DynamoDB列表

时间:2016-12-02 07:09:44

标签: amazon-dynamodb aws-lambda

我有一个字段列表。

{
 "messages": [item1, item2....]
}

多个主机会将项目附加到该列表中。

是否需要考虑确保原子附加?

1 个答案:

答案 0 :(得分:2)

同时使用list_append()if_not_exists()附加到可能不存在的列表列:

var params = {
  TableName: "yourTableName",
  Key: { hash: "someId" },
  UpdateExpression: "set #messages = list_append(if_not_exists(#messages, :empty_list), :message)",
  ExpressionAttributeNames: {
    "#messages": "messages"
  },
  ExpressionAttributeValues: {
    ":message": [{ "id": "1","foo": "bar" }],
    ":empty_list": []
  }
};