Use case
We have a bit of code that modifies a few different dynamo records. Currently this is done as separate transactions so can result in orphaned data. We also want to add some conditions to the expression.
One of the transactions is a stream Process, which would make it difficult to batch the changes into one transaction.
Suggestion
My suggestion is for the stream.Processor to have some kind of additional function that processes events but returns them as dynamodb transactions rather than applying them.
Other options
Another option would be to allow passing other transactions that could be on other tables into the Process function. I think this makes less sense though, and isn't very intuitive.