如何只允许现有dynamoDB资源上的UpdateItem



是否可以向 DynamoDB UpdateItem传递一个选项,以使对不存在的项目调用UpdateItem失败?

目前,如果分区键不存在,UpdateItem很乐意创建一个新项目。在这种特殊情况下,我想要一个错误。

当然,我可以在更新项目之前做一个

获取,并且只做一个更新项目,但这性能较低/更麻烦。

您可以使用 ConditionExpression 执行条件更新。

条件更新 API 非常强大,但就您而言,您需要构建一个条件表达式,用于检查您尝试更新的项目是否使用项目分区键(以及范围键,如果您的表使用范围键)上的条件表达式退出。

由于您没有指定编程语言,因此最好的起点是文档。

更准确地说,您必须设置 ConditionExpression: "attribute_exists(<your key attribute name>)"

如果键相关项不存在,此操作将失败 - DynamoDB 搜索键相关项,但找不到任何项,并且所有attribute_exists条件函数调用都将失败。

相反,如果 Item 存在,则它始终具有 key 属性,因此attribute_exists(key)返回 true。

相关内容

  • 没有找到相关文章

最新更新