DynamoDB:列出所有分区键

WPr*_*esh 7 amazon-web-services amazon-dynamodb amazon-dynamodb-streams

我想更新 DynamoDB 中的包含,为此我需要迭代表中存在的现有分区键。有什么方法可以使用 Python 仅获取分区键列表。扫描和查询仅适用于我的表的属性。有没有办法获取表的所有分区键?

Mik*_*scu 6

如果您的表除了分区键之外还使用排序键(换句话说,如果键是分区 + 排序键的组合),那么答案是:否 - 无法仅查询或扫描分区键。澄清一下,您仍然可以使用仅返回键的投影扫描您的表,但它将多次返回每个主键,对于具有相同主键和不同排序键的每个项目一次。

如果您的表模式仅使用分区键(没有排序键),那么您可以编写仅包含主键投影的扫描,因此,获得分区键列表作为结果。

  • 几年后,AWS 发布了一些智能技术,如何以更有效的方式列出所有分区键:https://aws.amazon.com/blogs/database/generate-a-distinct-set-of-partition-keys-for -an-amazon-dynamodb-table-高效/ (3认同)