PutItemRequest request = PutItemRequest.builder() .tableName(table_name) .item(item_values)
/** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public String toString() { return ToString.builder("PutItemRequest").add("TableName", tableName()).add("Item", item()).add("Expected", expected()) .add("ReturnValues", returnValuesAsString()).add("ReturnConsumedCapacity", returnConsumedCapacityAsString()) .add("ReturnItemCollectionMetrics", returnItemCollectionMetricsAsString()) .add("ConditionalOperator", conditionalOperatorAsString()).add("ConditionExpression", conditionExpression()) .add("ExpressionAttributeNames", expressionAttributeNames()) .add("ExpressionAttributeValues", expressionAttributeValues()).build(); }
@Override public PutItemRequest build() { return new PutItemRequest(this); }
@Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(tableName()); hashCode = 31 * hashCode + Objects.hashCode(item()); hashCode = 31 * hashCode + Objects.hashCode(expected()); hashCode = 31 * hashCode + Objects.hashCode(returnValuesAsString()); hashCode = 31 * hashCode + Objects.hashCode(returnConsumedCapacityAsString()); hashCode = 31 * hashCode + Objects.hashCode(returnItemCollectionMetricsAsString()); hashCode = 31 * hashCode + Objects.hashCode(conditionalOperatorAsString()); hashCode = 31 * hashCode + Objects.hashCode(conditionExpression()); hashCode = 31 * hashCode + Objects.hashCode(expressionAttributeNames()); hashCode = 31 * hashCode + Objects.hashCode(expressionAttributeValues()); return hashCode; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof PutItemRequest)) { return false; } PutItemRequest other = (PutItemRequest) obj; return Objects.equals(tableName(), other.tableName()) && Objects.equals(item(), other.item()) && Objects.equals(expected(), other.expected()) && Objects.equals(returnValuesAsString(), other.returnValuesAsString()) && Objects.equals(returnConsumedCapacityAsString(), other.returnConsumedCapacityAsString()) && Objects.equals(returnItemCollectionMetricsAsString(), other.returnItemCollectionMetricsAsString()) && Objects.equals(conditionalOperatorAsString(), other.conditionalOperatorAsString()) && Objects.equals(conditionExpression(), other.conditionExpression()) && Objects.equals(expressionAttributeNames(), other.expressionAttributeNames()) && Objects.equals(expressionAttributeValues(), other.expressionAttributeValues()); }
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(); }
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) { switch (fieldName) { case "TableName": return Optional.ofNullable(clazz.cast(tableName())); case "Item": return Optional.ofNullable(clazz.cast(item())); case "Expected": return Optional.ofNullable(clazz.cast(expected())); case "ReturnValues": return Optional.ofNullable(clazz.cast(returnValuesAsString())); case "ReturnConsumedCapacity": return Optional.ofNullable(clazz.cast(returnConsumedCapacityAsString())); case "ReturnItemCollectionMetrics": return Optional.ofNullable(clazz.cast(returnItemCollectionMetricsAsString())); case "ConditionalOperator": return Optional.ofNullable(clazz.cast(conditionalOperatorAsString())); case "ConditionExpression": return Optional.ofNullable(clazz.cast(conditionExpression())); case "ExpressionAttributeNames": return Optional.ofNullable(clazz.cast(expressionAttributeNames())); case "ExpressionAttributeValues": return Optional.ofNullable(clazz.cast(expressionAttributeValues())); default: return Optional.empty(); } }
@Setup public void setup() { req = PutItemRequest.builder().item(testItem.getValue()).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();
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();
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();
/** * {@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; }
/** * {@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; }
TransactionConflictException, RequestLimitExceededException, InternalServerErrorException, AwsServiceException, SdkClientException, DynamoDbException { return putItem(PutItemRequest.builder().applyMutation(putItemRequest).build());
try { Map<String, AttributeValue> item = createOrderItem(createOrderRequest); dynamoDb.putItem(PutItemRequest.builder() .tableName(tableName) .item(item)
return putItem(PutItemRequest.builder().applyMutation(putItemRequest).build());