通过 dynamoDB 中的 batchGetItem 超过 100 个项目

SAN*_*NGH 3 amazon-dynamodb

如果您请求的项目超过 100 个,BatchGetItem 将返回一个 ValidationException 并显示消息“为 BatchGetItem 调用请求的项目太多”。有没有办法通过batchGetItems处理dynamoDB中的100多个项目。

Dun*_*dan 6

根据AWS 的记录,对于单个BatchGetItem请求,要获取的最大项目数为 100 :

单个操作最多可以检索 16 MB 的数据,其中可以包含多达 100 个项目。

[…]

重要的

如果您请求的项目超过 100 个,BatchGetItem 将返回一个 ValidationException 并显示消息“为 BatchGetItem 调用请求的项目太多”。

也没有可用的分页,因为它适用于Query. 您可以做的是自己实现分页,以便BatchGetItem每 100 个项目提出一个请求。如果您沿着这条路线走下去,您还应该确保正确处理UnprocessedKeys.

虽然不清楚从 DynamoDB 一次获取 100 多个项目的用例是什么,但您的问题可能表明 DynamoDB 架构设计不佳。根据您的用例重新设计架构和/或使用类似的操作Query可能是更好的选择。