in src/main/java/com/amazonaws/gdcreplication/util/DDBUtil.java [227:244]
public void insertIntoDynamoDB(List<WriteRequest> itemList, String dynamoDBTblName) {
System.out.printf("Inserting %d items to DynamoDB using Batch API call. \n", itemList.size());
AmazonDynamoDB dynamoDB = AmazonDynamoDBClientBuilder.standard().build();
for (List<WriteRequest> miniBatch : Lists.partition(itemList, 25)) {
Map<String, List<WriteRequest>> requestItems = new HashMap<String, List<WriteRequest>>();
requestItems.put(dynamoDBTblName, miniBatch);
BatchWriteItemRequest batchWriteItemRequest = new BatchWriteItemRequest()
.withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL)
.withRequestItems(requestItems);
BatchWriteItemResult result = dynamoDB.batchWriteItem(batchWriteItemRequest);
while (result.getUnprocessedItems().size() > 0) {
Map<String, List<WriteRequest>> unprocessedItems = result.getUnprocessedItems();
result = dynamoDB.batchWriteItem(unprocessedItems);
}
}
dynamoDB.shutdown();
}