如何使用boto遍历DynamoDB表中的所有项?
我想要查询一个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