List of usage examples for com.amazonaws.services.dynamodbv2.model UpdateItemRequest getKey
public java.util.Map<String, AttributeValue> getKey()
The primary key of the item to be updated.
From source file:amazon.dynamodb.config.DynamoDBManager.java
License:Open Source License
public UpdatePointResult updatePoint(UpdatePointRequest updatePointRequest) { long geohash = S2Manager.generateGeohash(updatePointRequest.getGeoPoint()); long hashKey = S2Manager.generateHashKey(geohash, config.getHashKeyLength()); UpdateItemRequest updateItemRequest = updatePointRequest.getUpdateItemRequest(); updateItemRequest.setTableName(config.getTableName()); AttributeValue hashKeyValue = new AttributeValue().withN(String.valueOf(hashKey)); updateItemRequest.getKey().put(config.getHashKeyAttributeName(), hashKeyValue); updateItemRequest.getKey().put(config.getRangeKeyAttributeName(), updatePointRequest.getRangeKeyValue()); // Geohash and geoJson cannot be updated. updateItemRequest.getAttributeUpdates().remove(config.getGeohashAttributeName()); updateItemRequest.getAttributeUpdates().remove(config.getGeoJsonAttributeName()); UpdateItemResult updateItemResult = config.getDynamoDBClient().updateItem(updateItemRequest); UpdatePointResult updatePointResult = new UpdatePointResult(updateItemResult); return updatePointResult; }
From source file:com.amazon.janusgraph.diskstorage.dynamodb.DynamoDbDelegate.java
License:Open Source License
/** * This method calculates a lower bound of the size of a new item created with UpdateItem UpdateExpression. It does not * account for the size of the attribute names of the document paths in the attribute names map and it assumes that the * UpdateExpression only uses the SET action to assign to top-level attributes. * @param request UpdateItem request that uses update expressions * @return the size of the post-update image of the item *///from w w w.ja va2 s . c o m private int calculateExpressionBasedUpdateSize(final UpdateItemRequest request) { if (request == null || request.getUpdateExpression() == null) { throw new IllegalArgumentException("request did not use update expression"); } int size = calculateItemSizeInBytes(request.getKey()); for (AttributeValue value : request.getExpressionAttributeValues().values()) { size += calculateAttributeSizeInBytes(value); } return size; }
From source file:com.rapid7.diskstorage.dynamodb.DynamoDBDelegate.java
License:Open Source License
/** * This method calculates a lower bound of the size of a new item created with UpdateItem UpdateExpression. It does not * account for the size of the attribute names of the document paths in the attribute names map and it assumes that the * UpdateExpression only uses the SET action to assign to top-level attributes. * @param request UpdateItem request that uses update expressions * @return the size of the post-update image of the item *//*from w w w. j a va2 s.co m*/ private int calculateExpressionBasedUpdateSize(UpdateItemRequest request) { if (request == null || request.getUpdateExpression() == null) { throw new IllegalArgumentException("request did not use update expression"); } int size = calculateItemSizeInBytes(request.getKey()); for (AttributeValue value : request.getExpressionAttributeValues().values()) { size += calculateAttributeSizeInBytes(value); } return size; }