DynamoDB流可以看到未完成的事务吗?

时间:2018-12-13 21:49:36

标签: amazon-web-services amazon-dynamodb amazon-dynamodb-streams

我有一个DynamoDB表,我正在其中使用事务写入(https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html)。交易包括2看跌期权。假设第一个看跌期权成功,第二个失败。在这种情况下,第一个看跌期权将被交易库回滚。

我还在表上启用了DynamoDB流(https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html),并且另一个应用程序使用了该流。

问题:在回滚方案中,第一次成功放置将导致DynamoDB流事件,而回滚将导致另一个事件吗?如果是,是否有办法防止这种情况,即确保仅针对完全完成的事务触发流事件?

1 个答案:

答案 0 :(得分:3)

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html

  

与交易有关的更改将传播到全局辅助数据库   索引(GSI),DynamoDB流和备份最终之后   交易成功完成。由于最终的一致性,   从按需或时间点恢复(PITR)还原的表   备份可能包含近期所做的一些但不是全部更改   交易。

因此,当我阅读本文时,直到交易成功完成后,您才能在流中看到任何内容。