仅当密钥已存在时才更新数据库



只有在键存在的情况下,我才必须更新dynamodb,如果键不存在,我不想创建新行。

我的语法是:

PrimaryKey pk = new PrimaryKey("partitionKey", key1, "sortKey", key2);
String updateExpression = "set abc =:s";
String value = "xyz";
UpdateItemSpec updateItemSpec = new UpdateItemSpec()
.withPrimaryKey(pk)
.withUpdateExpression(updateExpression)
.withValueMap(new ValueMap().withString(":s", value))
.withConditionExpression(?);
table.updateItem(updateItemSpec);

我应该在ConditionExpression中提供什么。如何在此处使用attribute_exist((?

如果更新项API不存在,它将创建新项。可以使用ConditionExpression停止创建新项。

ConditionExpression = attribute_exists(partitionKey)

如果找不到密钥,API将抛出ConditionalCheckFailedException。

最新更新