我在一个csv中有接近200K的eventids。我在一个循环中阅读它们中的每一个,并使用GSI查询那些eventids。GSI位于主表的属性eventid上。是否有一种方法可以在single batch or single request to dynamodb中发送这些事件,从而避免multiple请求?我正在使用DynamoDBEnhancedAsyncClient查询GSI。
200K
eventids
GSI
eventid
single batch or single request to dynamodb
multiple
DynamoDBEnhancedAsyncClient
rkue9o1l1#
到目前为止,您在文档中发现了哪些内容,表明这可能是或可能不是现有功能?
c3frrgcw2#
您是否考虑过使用BatchGetItem API?比如:
List<ReadBatch> readBatches = new ArrayList<>(); for (String eventId : eventIdList) { readBatches.add(ReadBatch.builder(Event.class) .mappedTableResource(eventsTable) .addGetItem(GetItemEnhancedRequest.builder() .consistentRead(true) .key(Key.builder().partitionValue(eventId).build()) .build()) .build()); } BatchGetItemEnhancedRequest<Event> batchGetRequest = BatchGetItemEnhancedRequest.builder() .readBatches(readBatches) .build();
2条答案
按热度按时间rkue9o1l1#
到目前为止,您在文档中发现了哪些内容,表明这可能是或可能不是现有功能?
c3frrgcw2#
您是否考虑过使用BatchGetItem API?
比如: