有没有办法在亚马逊的 AWS SDK for Java 中使用单个查询来查询多个哈希键?
这是我的问题;我有一个项目状态的数据库表。哈希键是项目的状态(即:新的、已分配的、处理中的或完成的)。范围键是一组项目 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);
So basically, I’d like to know if it’s possible to eliminate the queryAssigned
and assigned
variables and handle both assignedStatus
and processStatus
via相同的查询 process
,用于查找既不新也不完整的项目。
原文由 DGolberg 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,截至目前,无法在同一个请求中发送多个查询。如果您担心延迟,您可以在不同的线程中同时发出多个请求。这将需要与 Dynamo 提供的“双重查询”相同数量的网络带宽(假设您制作 2 个,而不是数百个)。