仅当密钥已存在时才更新数据库
Updating database only if key is already present
只有当键存在时我才必须更新 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);
我应该在 withConditionExpression 中提供什么。我如何在这里使用 attribute_exist()?
更新项目 API 将创建新项目(如果不存在)。您可以使用 ConditionExpression 停止创建新项目。
ConditionExpression = attribute_exists(partitionKey)
如果未找到密钥,API 将抛出 ConditionalCheckFailedException。
只有当键存在时我才必须更新 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);
我应该在 withConditionExpression 中提供什么。我如何在这里使用 attribute_exist()?
更新项目 API 将创建新项目(如果不存在)。您可以使用 ConditionExpression 停止创建新项目。
ConditionExpression = attribute_exists(partitionKey)
如果未找到密钥,API 将抛出 ConditionalCheckFailedException。