【发布时间】:2020-01-25 08:13:11
【问题描述】:
如果您请求的项目超过 100 个,BatchGetItem 将返回 ValidationException 并显示消息“为 BatchGetItem 调用请求的项目太多”。 有没有办法通过batchGetItems处理dynamoDB中的100多个项目。
【问题讨论】:
标签: amazon-dynamodb
如果您请求的项目超过 100 个,BatchGetItem 将返回 ValidationException 并显示消息“为 BatchGetItem 调用请求的项目太多”。 有没有办法通过batchGetItems处理dynamoDB中的100多个项目。
【问题讨论】:
标签: amazon-dynamodb
对于单个BatchGetItem 请求,获取的最大项目数为100,如documented by AWS:
单个操作最多可以检索 16 MB 的数据,其中可以包含多达 100 个项目。
[…]
重要
如果您请求的项目超过 100 个,BatchGetItem 会返回 ValidationException 并显示消息“为 BatchGetItem 调用请求的项目太多。”
也没有像Query 这样的操作可用的分页。您可以做的是自己实现分页,以便每 100 个项目发出一个 BatchGetItem 请求。如果你走这条路,你还应该确保妥善处理UnprocessedKeys。
虽然不清楚您从 DynamoDB 一次获取 100 多个项目的用例是什么,但您的问题可能表明 DynamoDB 架构设计不佳。根据您的用例,重新设计架构和/或使用 Query 之类的操作可能是更好的选择。
【讨论】: