DynamoDB仪表板无法保存/更新项目:ConditionalCheckFailedException

时间:2018-08-08 20:35:11

标签: amazon-dynamodb aws-console

我需要使用AWS Console DDB仪表板更新表中的项目。但是,当我进入“编辑项目”并单击“保存”时,我不断收到ConditionalCheckFailedException错误。

我认为这意味着现有项目具有一个ConditionExpression,而我的新数据违反了该条件。但是我无法弄清楚如何从仪表板查看该表达式,因此可以确定问题所在。

如何从AWS Console DDB仪表板查看表中某项的ConditionExpression?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并且在AWS支持的帮助下解决了该问题。

之所以会出现此问题,是因为“项目”选项卡的DynamoDB控制台是静态显示,它在首次显示时会为所有项目拍摄快照。如果选择一个项目然后返回屏幕,您仍会看到相同的快照-它不会更新。

当您尝试更新项目时,控制台将从该项目的快照中发送所有现有字段的值,并且如果这些字段中的任何一个与DynamoDB中的当前值不同,则更新将被拒绝。因此,“条件表达式”是指控制台对允许更新的要求。

因此,解决方法是在选择要编辑的项目之前,在项目列表上执行浏览器窗口刷新,然后希望您的编辑速度足够快,以在表的任何外部更新更改数据之前完成它。当然,如果您的表变化迅速,那么您将不够快,因此控制台不是执行此任务的正确工具。