При попытке сделать удалить с помощью AWS Java SDK Я получаю ошибкуAWS DynamoDB Удаление с помощью Java SDK
Указанный ключ элемент не соответствует схеме (Service: AmazonDynamoDBv2; код Статус: 400; Код ошибки : ValidationException; запрос ID: 52N303HS3D535K28KSN3R3803VVV4KQNSO5AEMVJF66Q9ASUAAJG)
у меня есть удаление спецификации элемент определен, который выглядит следующим образом
DeleteItemSpec deleteItemSpec = new DeleteItemSpec()
.withPrimaryKey("pk", messageId)
.withConditionExpression("#ip > :val")
.withNameMap(new NameMap()
.with("#ip", "timestamp"))
.withValueMap(new ValueMap()
.withNumber(":val", 0))
.withReturnValues(ReturnValue.NONE);
И моя таблица создана вот так:
List<AttributeDefinition> attributeDefinitions = new ArrayList<>();
attributeDefinitions.add(new AttributeDefinition()
.withAttributeName("pk")
.withAttributeType(ScalarAttributeType.S));
attributeDefinitions.add(new AttributeDefinition()
.withAttributeName("timestamp")
.withAttributeType(ScalarAttributeType.N));
List<KeySchemaElement> keySchema = new ArrayList<>();
keySchema.add(new KeySchemaElement()
.withAttributeName("pk")
.withKeyType(KeyType.HASH));
keySchema.add(new KeySchemaElement()
.withAttributeName("timestamp")
.withKeyType(KeyType.RANGE));
Мне интересно, вызывает ли этот ключ сортировки временную метку. Нужно ли указывать метку времени, отличную от> 0?