「カウント」数値フィールドを持つ DynamoDB テーブルがあります。AttributeAction.ADD を使用してフィールドをインクリメントしています。動作しますが、アプリを再実行すると、既存の値がインクリメントされず、代わりに「1」から再び開始されます。
私は期待しています:
run #1: 1,2,3,4,5
run #2: 6,7,8,9,10
代わりに私は見ています:
run #1: 1,2,3,4,5
run #2: 1,2,3,4,5
私は何を間違っていますか?アプリで実行しているコードは次のとおりです。
Map<String, AttributeValueUpdate> updateItems = new HashMap<String, AttributeValueUpdate>();
Key key = new Key().withHashKeyElement(new AttributeValue().withS(targetKey));
updateItems.put("count",
new AttributeValueUpdate()
.withAction(AttributeAction.ADD)
.withValue(new AttributeValue().withN("1")));
ReturnValue returnValues = ReturnValue.ALL_NEW;
UpdateItemRequest updateItemRequest = new UpdateItemRequest()
.withTableName(tableName)
.withKey(key)
.withAttributeUpdates(updateItems)
.withReturnValues(returnValues);
UpdateItemResult result = dynamoDB.updateItem(updateItemRequest);