DynamoDB在使用TransactWrtieItems时返回修改的文档(旧的或新的)



是否有一种方法使transactWriteItem返回它更新的文档?

const transactionParams = {
ReturnConsumedCapacity: "INDEXES",
TransactItems: [
{
Delete: {
TableName: reactionTableName,
Key: {
"SOME_PK_",
"SOME_SK_",
},
ReturnValues: 'ALL_OLD',
},
},
{
Update: {
TableName: reviewTableName,
Key: { PK: "SOME_PK", SK: "SOME_SK" },
ReturnValues: 'ALL_OLD',
},
},
],
};
try {
const result = await docClient.transactWrite(transactionParams).promise();
} catch (error) {
context.done(error, null);
}

例如,在上面的代码得到的文档被触摸(之前或之后更新)?

不,TransactWriteItemsAPI不提供返回修改项值的能力,但是,您可以使用DynamoDB Streams获得这些值,否则您将需要默认为单例API UpdateItem/DeleteItem,它们不兼容ACID。

最新更新