我有一个表,该表的ID为主键,另一个参数为主键。现在我想使用id和status作为列表作为请求参数在dynamo db表中搜索元素。
Map<String,String> expressionAttributesNames = new HashMap<>();
expressionAttributesNames.put("#id","id");
Map<String,AttributeValue> expressionAttributeValues = new HashMap<>();
expressionAttributeValues.put(":idVal",new AttributeValue().withS(deviceKey));
DynamoDBQueryExpression<Command> queryExpression = new DynamoDBQueryExpression<Command>()
.withKeyConditionExpression("#id = :idVal")
.withExpressionAttributeNames(expressionAttributesNames)
.withExpressionAttributeValues(expressionAttributeValues);
if (null != status) {
queryExpression.withFilterExpression("#status = :statusValue");
expressionAttributeValues.put(":statusValue", new AttributeValue().withN(status));
expressionAttributesNames.put("#status", "status");
}
return mapper.query(TablData.class,queryExpression);
我可以做些什么来查询状态,例如in子句。