dynamodb 扫描/查询返回的结果明显小于 1MB

Ila*_*win 5 amazon-dynamodb

我正在对我的一个表执行扫描操作,并在请求中指定一个“projectionExpression”,其目的是减少返回的数据量。我对扫描没有设置限制(尽管我也尝试将限制设置为 50、100 等),但我只得到大约 20-30 个结果,总响应数据约为 12KB-15KB,我正在使用 JavaScript 函数来测量响应的大小。

我还尝试仅返回 porjectionExpression 中的主键,看看这是否会影响我得到的结果数量,但我仍然得到相同数量的结果。

我从文档中知道,扫描操作最多只能返回 1MB 的数据,但令我惊讶的是,我得到的结果如此之少,尽管我返回的数据远小于 1MB,而且我没有指定限制。我确实得到了 LastEvaluatedKey 并且能够继续扫描,但名义结果数量似乎非常低。

对索引的查询也会发生同样的情况。

所以我的问题是:1MB 限制适用于原始数据还是响应中返回的实际数据(后者是我从文档中得到的印象)。

谢谢你,伊兰

Jar*_*eld 3

1MB 限制适用于基础数据。投影仅减少通过线路发送的数据量。

如果您的项目很大,则可以使用 GSI 来投影少量属性,以便在您只需要访问字段子集时降低查询和扫描的成本。