在DynamoDB中,如何使用Java将元素附加到列表字段

时间:2016-12-16 04:30:43

标签: java amazon-dynamodb

我在DynamoDB中有一个名为imageData的记录,该字段是一个项目列表,每个项目都是一个字典(包含键值对的地图)

如何将新项目添加到以下记录中的列表

 { "ssid": "abcd", "imageData": []}

我试过

Table table = dynamoDB.getTable("my_table");

HashMap imageData = new HashMap();
    imageData.put("imageKey", "xyz.jpg" );
    imageData.put("imageUploadTimestamp", "2016-12-12 23:59:59");

ValueMap map = new ValueMap().withList(":img", Arrays.asList(imageData));

UpdateItemSpec updateItemSpec = new UpdateItemSpec()
            .withPrimaryKey(SSID, ssid)
            .withUpdateExpression("set imageData = list_append(imageData, :img )")
            .withValueMap(map);

UpdateItemOutcome result = table.updateItem(updateItemSpec);

这是正确的方法吗?有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

这是附加到DynamoDB中列表属性的好方法。