将 AWS IoT 存储到 AWS DynamoDB 而不会在表中重复

问题描述

我已使用 IoT 核心控制台成功配置了我的 AWS IoT 事物,并创建了一条规则以将事物中的数据存储在 DynamoDB 表中。该规则有效,但我为相同的主键值获取了多个记录。如何避免这种情况,因为我将 dynamodb 表用于 Android 应用程序?

解决方法

DynamoDB 表不能存储重复的 PartitionKeys(HashKeys),除非还定义了 RangeKey(SortKey)。

根据您的问题,我怀疑您所指的“其他字段”被定义为您的 RangeKey。在这种情况下 PartitionKey + RangeKey 是唯一的,而 PartitionKey 不是它自己的唯一。

如果您需要唯一的 PartitionKey,请从表定义中删除 RangeKey。