【问题标题】:Storing AWS IoT to AWS DynamoDB without Duplication in Table将 AWS IoT 存储到 AWS DynamoDB 而不在表中重复
【发布时间】:2021-05-12 06:19:09
【问题描述】:

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

【问题讨论】:

  • 主键根据定义是唯一的,你的意思是分区键吗?数据看起来如何?规则看起来如何?更多细节将非常有帮助:)
  • @Maurice 是的,我的意思只是分区键。我只使用 IOT 核心控制台制定了一条规则,它包含在目标 DynamoDB 表中存储数据的唯一操作。该表只包含两列,这两列都是从 IOT 设备发送的(其中一列是分区键,它保持不变,另一列不断变化)。我希望第一个值保持不变,第二个值在表中更新。
  • 您的其他字段是否定义为 RangeKey?你能发布你的表格定义吗

标签: amazon-web-services amazon-dynamodb aws-iot aws-iot-core


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 2018-04-27
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多