-
Notifications
You must be signed in to change notification settings - Fork 18
Description
This is somewhat related to the caveat mentioned in the TransactWriteItems
section regarding multi-table operations not being supported.
For a single-table design this limitations also pops if there are multiple instances of TableContext
using the same table name, and a need arises to write more than one record type in the same request:
let baseContext : TableContext<BaseSchema> = ...
let contextFoo : Context<Foo> = baseContext.WithRecordType<Foo>()
let contextBar : Context<Bar> = baseContext.WithRecordType<Bar>()
let fooItems : Foo list = ...
let barItems : Bar list = ...
async {
// Separate DynamoDB requests are needed here
let! _ = contextFoo.BatchPutItemsAsync fooItems
let! _ = contextBar.BatchPutItemsAsync barItems
}
The most straightforward way of resolving the immediate problem would be to make the AttributeValue
helper methods on RecordTemplate
here public, and from there just use the SDK to make the necessary request.
If there is another approach that offers a solution that doesn't require working with the SDK directly, and maybe solves the problem more generally for transactions as well I'd be happy to take a look, just let me know.