我的视频blog地址 http://www.lofter.com/blog/cloudrivers

有条件写入Conditional Writes

默认情况下,DynamoDB 写入操作(PutItemUpdateItem 和 DeleteItem)是无条件的:其中每项操作都会覆盖带指定主键的现有项目。

DynamoDB 可以选择性地对这些操作支持有条件写入。有条件写入仅在项目属性满足一个或多个预期条件时才会成功。否则,它会返回错误。有条件写入在很多情况下很有用。例如,您可能希望 PutItem 操作仅在尚不存在具有相同主键的项目时成功。或者,如果某个项目的其中一个属性具有一个特定值,您可以阻止 UpdateItem 操作修改该项目。

Conditional Writes

有条件写入在多个用户尝试修改同一项目的情况下很有用。请考虑下图,其中两位用户 (Alice 和 Bob) 正在处理 DynamoDB 表中的同一项目:

要请求有条件 PutItemDeleteItem 或 UpdateItem,请指定一个条件表达式。条件表达式 是一个包含属性名称、条件运算符和内置函数的字符串。整个表达式的求值结果必须为 true。否则,操作将失败。

现在考虑下图,该图展示了有条件写入将如何阻止 Alice 的更新被覆盖:

 

posted @ 2019-08-28 17:12  Michael云擎  阅读(258)  评论(0编辑  收藏  举报
我的视频blog地址 http://www.lofter.com/blog/cloudrivers