在DynamoDBMapper的条件写入中使用NOT_CONTAINS

时间:2016-07-12 11:33:13

标签: java amazon-web-services amazon-dynamodb

我想基于以下条件更新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运算符实现我的功能。

1 个答案:

答案 0 :(得分:-1)

<input type="hidden" name="DuplicateNum" value="@dup"/>只能有一个NOT_CONTAINS而你有两个AttributeValue。请参阅DynamoDB条件的文档,包括http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.htmlNOT_CONTAINS