有没有办法在Amazon的AWS SDK for Java中使用单个查询查询多个哈希键?有没有办法在DynamoDB中查询多个哈希键?
这是我的问题;我有一个项目状态的数据库表。哈希键是项目的状态(即:新建,分配,处理或完成)。范围键是一组项目ID。目前,我已经有了一个查询设置,可以简单地查找列为“已分配”状态(哈希)的所有项目,并设置另一个查询以查找“处理”状态。有没有办法使用单个查询来完成此操作,而不是针对每个需要查找的状态发送多个查询?代码如下:
DynamoDBMapper mapper = new DynamoDBMapper(new AmazonDynamoDBClient(credentials));
PStatus assignedStatus = new PStatus();
assignedStatus.setStatus("assigned");
PStatus processStatus = new PStatus();
processStatus.setStatus("processing");
DynamoDBQueryExpression<PStatus> queryAssigned = new DynamoDBQueryExpression<PStatus>().withHashKeyValues(assignedStatus);
DynamoDBQueryExpression<PStatus> queryProcessing = new DynamoDBQueryExpression<PStatus>().withHashKeyValues(processStatus);
List<PStatus> assigned = mapper.query(PStatus.class, queryAssigned);
List<PStatus> process = mapper.query(PStatus.class, queryProcessing);
所以基本上,我想知道是否有可能通过相同的查询,process
消除queryAssigned
和assigned
变量和同时处理assignedStatus
和processStatus
,发现没有新的或项目完成。
http://aws.typepad.com/aws/2013/ 04/local-secondary-indexes-for-amazon-dynamodb.html – Guy
对不起,这甚至不是我所要求的,我已经知道二级索引。 – DGolberg
我认为你的问题表明你的模式需要不同。如果你反复需要查询2个散列键,那么可能它本身应该是一个特殊的散列键(从两个状态复制数据)。 – alexandroid