如何使用boto遍历DynamoDB表中的所有项?

6 投票
1 回答
8369 浏览
提问于 2025-04-17 10:52

我想要查询一个DynamoDB表,获取所有的项目,并对它们进行循环处理,使用的是boto这个库。我该如何构建一个查询或者扫描,以便返回表中的所有内容呢?

1 个回答

3

Chris Moyer 在 boto 的 layer2 中为 DynamoDB 添加了对 Scan API 的初步支持,这个更新可以在 commit 522e0548 中找到(为 layer2 和 Table 添加了扫描功能)。后来,Mitch Garnaat 又对这个功能进行了更新,具体可以在 commit adeb7151 中查看(清理了 Layer2 和 Table 上的扫描方法),这样就隐藏了更底层的细节,让查询变得更直观。相关的 问题 #574 目前计划在 boto 2.3 中发布。

一个使用示例可以在 tests/dynamodb/test_layer2.py 中找到:

# Try scans
results = table.scan([('Tags', 'CONTAINS', 'table')])
n = 0
for item in results:
    n += 1
assert n == 2

撰写回答