Search code examples
pythonunit-testingaws-lambdaamazon-dynamodbboto3

boto3 error when calling the TransactWriteItems operation: Validation error at transactItems: Member must have length less than or equal to 25


I use boto3 transact_write_items function to write in my dynamodb multiple records. in documentation sad that "TransactWriteItems is a synchronous write operation that groups up to 100 action requests". on production it's work fine for me. But when I try to run code for unittests I got exeption - "Member must have length less than or equal to 25." Who knows why it's works in such different way?

self.dynamodb.transact_write_items(
                TransactItems=transact_actions,
                ReturnConsumedCapacity='INDEXES'
            )

Solution

  • You did not explicitly state that you are using DynamoDB Local for your unit testing, but I am going on the assumption thats what you are using.

    In short, DynamoDB Local does not yet support 100 items for transactions, it is still capped at 25.