Использование NOT_CONTAINS в условной записи через DynamoDBMapper

Я хочу обновить запись в таблице DynamoDB на основе приведенного ниже условия, в котором говорится, что «Обновлять запись только тогда, когда значение атрибута не принадлежит ни одному из значений, указанных в списке».

Фрагмент кода:

AttributeValue inProgressStatus = new AttributeValue("IN_PROGRESS");
AttributeValue successStatus = new AttributeValue("SUCCESS");

ExpectedAttributeValue expectedAttributeValue = new ExpectedAttributeValue();
expectedAttributeValue.setAttributeValueList(Arrays.asList(inProgressStatus, successStatus));
expectedAttributeValue.setComparisonOperator(ComparisonOperator.NOT_CONTAINS);

При выполнении условного обновления я получаю следующее исключение:

com.amazonaws.AmazonServiceException: One or more parameter values were invalid: 
Invalid number of argument(s) for the NOT_CONTAINS ComparisonOperator (Service: null; Status Code: 400; Error Code: ValidationException; Request ID: null).

Пожалуйста, дайте мне знать, как я могу добиться своей функциональности с помощью оператора NOT_CONTAINS.


person Prashant Choyal    schedule 12.07.2016    source источник


Ответы (1)


NOT_CONTAINS может иметь только один AttributeValue, а у вас их два. См. документацию по условиям DynamoDB, включая NOT_CONTAINS, по адресу http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html.

person jzonthemtn    schedule 12.07.2016
comment
Не отвечая на реальный вопрос - person Matheus; 08.05.2018