DynamoDB事务规则疑问:同一事务中能否对同一项执行ConditionCheck与Update?
DynamoDB事务中ConditionCheck与Update的操作限制说明
这个限制是确实存在的,但你看到的示例并没有违反该规则,核心区别在于操作的独立性:
官方文档禁止的是:在同一个事务的操作列表中,同时包含两个独立的操作——比如一个单独的
ConditionCheck动作,加上一个Update动作,两者针对同一个数据项。这种场景下,同一项被两个独立事务操作命中,是不允许的。你看到的示例代码属于:在单个Update操作内部附带条件校验(通过
withConditionExpression设置)。这是Update操作本身的内置能力,整个流程是「先校验条件,通过则执行更新」,属于一个原子性的操作,而非两个独立的事务动作,因此完全符合规则。
简单总结:
- 禁止:事务里同时添加
ConditionCheck和Update两个独立操作(针对同一项) - 允许:单个
Update操作自带ConditionExpression(针对同一项)
内容的提问来源于stack exchange,提问作者Jenia Be Nice Please
相关产品推荐
相关产品推荐

