批量查询 DynamoDB 中的 GSI?
Batch query to a GSI in DynamoDB?
是否可以在 GSI 上使用 DynamoDBMapper 同时针对多个散列键值创建单个查询?例如,如果我尝试使用 GSI 获取 table Table 中的所有相关记录,我将遍历所有哈希键值并对每个哈希键值进行单独查询。
即目前我在做
for (String s : listOfStrings) {
Attribute thing = new Attribute();
thing.setSomeField(s);
DynamoDBQueryExpression<Attribute> queryExpression =
new DynamoDBQueryExpression<Attribute>()
.withHashKeyValues(thing)
.withIndexName("example-GSI")
.withConsistentRead(false);
}
但我想在批处理调用中完成所有操作,而不是 for 循环。
我查看了 DynamoDBMapper 文档,似乎有 none,但我只是想知道这里是否有人对这种情况有任何好的解决方案。
没有。 DynamoDB 不支持。当我需要 运行 查询多个散列键时,我使用循环并一次查询一个。如果愿意,您也可以发送并行请求。
是否可以在 GSI 上使用 DynamoDBMapper 同时针对多个散列键值创建单个查询?例如,如果我尝试使用 GSI 获取 table Table 中的所有相关记录,我将遍历所有哈希键值并对每个哈希键值进行单独查询。
即目前我在做
for (String s : listOfStrings) {
Attribute thing = new Attribute();
thing.setSomeField(s);
DynamoDBQueryExpression<Attribute> queryExpression =
new DynamoDBQueryExpression<Attribute>()
.withHashKeyValues(thing)
.withIndexName("example-GSI")
.withConsistentRead(false);
}
但我想在批处理调用中完成所有操作,而不是 for 循环。
我查看了 DynamoDBMapper 文档,似乎有 none,但我只是想知道这里是否有人对这种情况有任何好的解决方案。
没有。 DynamoDB 不支持。当我需要 运行 查询多个散列键时,我使用循环并一次查询一个。如果愿意,您也可以发送并行请求。