private void putRequestsAsTransaction()

in src/main/java/com/amazonaws/partners/saasfactory/metering/aggregation/BillingEventAggregation.java [221:242]


    private void putRequestsAsTransaction(Update updateRequest, List<Delete> deleteRequests) {
        List<TransactWriteItem> transaction = new ArrayList<>();
        TransactWriteItem updateTransactionItem = TransactWriteItem.builder()
                .update(updateRequest)
                .build();
        transaction.add(updateTransactionItem);
        List<TransactWriteItem> deleteRequestItems = deleteRequests.stream().map(deleteRequest -> TransactWriteItem.builder()
            .delete(deleteRequest)
            .build()).collect(Collectors.toList());
        transaction.addAll(deleteRequestItems);
        this.logger.info("Transaction contains {} actions", transaction.size());

        TransactWriteItemsRequest transactWriteItemsRequest = TransactWriteItemsRequest.builder()
                .transactItems(transaction)
                .build();

        try {
            ddb.transactWriteItems(transactWriteItemsRequest);
        } catch (ResourceNotFoundException|InternalServerErrorException|TransactionCanceledException e) {
            this.logger.error("{}", e.toString());
        }
    }