return putItem(PutItemRequest.builder().applyMutation(putItemRequest).build());
TransactionConflictException, RequestLimitExceededException, InternalServerErrorException, AwsServiceException, SdkClientException, DynamoDbException { return putItem(PutItemRequest.builder().applyMutation(putItemRequest).build());
return updateItemAndStartSessionMonitor(options, key, sortKey, deleteLockOnRelease, sessionMonitor, newLockData, recordVersionNumber, updateItemRequest); } else { final PutItemRequest putItemRequest = PutItemRequest.builder().item(item).tableName(tableName) .conditionExpression(conditionalExpression) .expressionAttributeNames(expressionAttributeNames).build();
return updateItemAndStartSessionMonitor(options, key, sortKey, deleteLockOnRelease, sessionMonitor, newLockData, recordVersionNumber, updateItemRequest); } else { final PutItemRequest putItemRequest = PutItemRequest.builder().item(item).tableName(tableName).conditionExpression(conditionalExpression) .expressionAttributeNames(expressionAttributeNames).expressionAttributeValues(expressionAttributeValues).build();
Map<String, AttributeValue> item = createOrderItem(createOrderRequest); dynamoDb.putItem(PutItemRequest.builder() .tableName(tableName) .item(item) .conditionExpression("attribute_not_exists(orderId)") .build()); return Order.builder() .orderId(item.get(ORDER_ID).s())
/** * {@inheritDoc} */ @Override public boolean createLeaseIfNotExists(@NonNull final Lease lease) throws DependencyException, InvalidStateException, ProvisionedThroughputException { log.debug("Creating lease {}", lease); PutItemRequest request = PutItemRequest.builder().tableName(table).item(serializer.toDynamoRecord(lease)) .expected(serializer.getDynamoNonexistantExpectation()).build(); final AWSExceptionManager exceptionManager = createExceptionManager(); exceptionManager.add(ConditionalCheckFailedException.class, t -> t); try { try { dynamoDBClient.putItem(request).get(); } catch (ExecutionException e) { throw exceptionManager.apply(e.getCause()); } catch (InterruptedException e) { // TODO: Check if this is the correct behavior throw new DependencyException(e); } } catch (ConditionalCheckFailedException e) { log.debug("Did not create lease {} because it already existed", lease); return false; } catch (DynamoDbException e) { throw convertAndRethrowExceptions("create", lease.leaseKey(), e); } return true; }
return updateItemAndStartSessionMonitor(options, key, sortKey, deleteLockOnRelease, sessionMonitor, newLockData, recordVersionNumber, updateItemRequest); } else { final PutItemRequest putItemRequest = PutItemRequest.builder().item(item).tableName(tableName).conditionExpression(conditionalExpression) .expressionAttributeNames(expressionAttributeNames).expressionAttributeValues(expressionAttributeValues).build();
/** * {@inheritDoc} */ @Override public boolean createLeaseIfNotExists(@NonNull final Lease lease) throws DependencyException, InvalidStateException, ProvisionedThroughputException { log.debug("Creating lease {}", lease); PutItemRequest request = PutItemRequest.builder().tableName(table).item(serializer.toDynamoRecord(lease)) .expected(serializer.getDynamoNonexistantExpectation()).build(); final AWSExceptionManager exceptionManager = createExceptionManager(); exceptionManager.add(ConditionalCheckFailedException.class, t -> t); try { try { dynamoDBClient.putItem(request).get(); } catch (ExecutionException e) { throw exceptionManager.apply(e.getCause()); } catch (InterruptedException e) { // TODO: Check if this is the correct behavior throw new DependencyException(e); } } catch (ConditionalCheckFailedException e) { log.debug("Did not create lease {} because it already existed", lease); return false; } catch (DynamoDbException e) { throw convertAndRethrowExceptions("create", lease.leaseKey(), e); } return true; }
private static byte[] toUtf8ByteArray(Map<String, AttributeValue> item) { SdkHttpFullRequest marshalled = putItemRequestMarshaller().marshall(PutItemRequest.builder().item(item).build()); InputStream content = marshalled.contentStreamProvider().get().newStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buff = new byte[8192]; int read; try { while ((read = content.read(buff)) != -1) { baos.write(buff, 0, read); } } catch (IOException ioe) { throw new UncheckedIOException(ioe); } return baos.toByteArray(); }