in src/main/java/com/amazonaws/partners/saasfactory/metering/aggregation/BillingEventAggregation.java [281:311]
private List<Delete> buildDeletes(List<BillingEvent> billingEvents, TenantConfiguration tenant) {
List<Delete> deleteRequests = new ArrayList<>();
for (BillingEvent event : billingEvents) {
Map<String, AttributeValue> keyToDelete = new HashMap<>();
Long eventTime = event.getEventTime().toEpochMilli();
String nonce = event.getNonce();
AttributeValue tenantIDValue = AttributeValue.builder()
.s(tenant.getTenantID())
.build();
keyToDelete.put(PRIMARY_KEY_NAME, tenantIDValue);
AttributeValue eventValue = AttributeValue.builder()
.s(String.format("%s%s%d%s%s",
EVENT_PREFIX,
ATTRIBUTE_DELIMITER,
eventTime,
ATTRIBUTE_DELIMITER,
nonce))
.build();
keyToDelete.put(SORT_KEY_NAME, eventValue);
Delete delete = Delete.builder()
.tableName(this.tableConfig.getTableName())
.key(keyToDelete)
.build();
deleteRequests.add(delete);
}
return deleteRequests;
}