return getItem(GetItemRequest.builder().applyMutation(getItemRequest).build());
throws ProvisionedThroughputExceededException, ResourceNotFoundException, RequestLimitExceededException, InternalServerErrorException, AwsServiceException, SdkClientException, DynamoDbException { return getItem(GetItemRequest.builder().applyMutation(getItemRequest).build());
log.debug("Getting lease with key {}", leaseKey); GetItemRequest request = GetItemRequest.builder().tableName(table).key(serializer.getDynamoHashKey(leaseKey)) .consistentRead(consistentReads).build(); final AWSExceptionManager exceptionManager = createExceptionManager(); try {
log.debug("Getting lease with key {}", leaseKey); GetItemRequest request = GetItemRequest.builder().tableName(table).key(serializer.getDynamoHashKey(leaseKey)) .consistentRead(consistentReads).build(); final AWSExceptionManager exceptionManager = createExceptionManager(); try {
/** * Returns an order or throws if the order does not exist. * @param orderId id of order to get * @return the order if it exists * @throws OrderDoesNotExistException if the order does not exist */ public Order getOrder(final String orderId) { try { return Optional.ofNullable( dynamoDb.getItem(GetItemRequest.builder() .tableName(tableName) .key(Collections.singletonMap(ORDER_ID, AttributeValue.builder().s(orderId).build())) .build())) .map(GetItemResponse::item) .map(this::convert) .orElseThrow(() -> new OrderDoesNotExistException("Order " + orderId + " does not exist")); } catch (ResourceNotFoundException e) { throw new TableDoesNotExistException("Order table " + tableName + " does not exist"); } }
private GetItemResponse readFromDynamoDB(final String key, final Optional<String> sortKey) { final Map<String, AttributeValue> dynamoDBKey = new HashMap<>(); dynamoDBKey.put(this.partitionKeyName, AttributeValue.builder().s(key).build()); if (this.sortKeyName.isPresent()) { dynamoDBKey.put(this.sortKeyName.get(), AttributeValue.builder().s(sortKey.get()).build()); } final GetItemRequest getItemRequest = GetItemRequest.builder().tableName(tableName).key(dynamoDBKey) .consistentRead(true) .build(); return this.dynamoDB.getItem(getItemRequest); }