【问题标题】:In Amazon DynamoDB creating a version of the table items在 Amazon DynamoDB 中创建表项的版本
【发布时间】:2015-11-20 08:56:18
【问题描述】:

我有一件物品,例如: “物品”: { “型号”:32590038899, “日期”:2015 年 10 月 9 日, “价格”:100 }

“hash_key_attribute_name”:“模型”

“range_key_attribute_name”:“日期”

我的问题是插入了很多新物品,因此有可能会出现相同型号的物品并且它们可能不是相同的产品。这可能是由于产品可用的地区。所以我需要一个设置我需要保留产品的副本,如果出现这种情况,并且将来在检查或要求后我可以带回该项目。我正在寻找一种版本系统。目前该产品因主键相同而被删除。

【问题讨论】:

    标签: node.js amazon-web-services amazon-dynamodb aws-sdk aws-cli


    【解决方案1】:

    简单地说:如果您的主键不是唯一的,那么您没有使用正确的字段作为主键。

    ...有可能会出现相同型号的商品 可能不是同一产品。这可能是由于产品所在的地区 可用...

    听起来您的主键需要是区域和产品 ID 的组合。或者您可能需要为每个区域创建一个单独的表。

    【讨论】:

      【解决方案2】:

      我会为您的商品添加一个唯一的 id 属性,uuid 效果很好,例如

      { id: "53f382ae-94b8-4910-b8f1-384f46dc10d8",
        model: 32590038899, 
        date: "10-09-2015", 
        price:100 
      }
      

      将您的表架构更改为只有一个哈希键属性名称 - id。

      使用散列键 - model,范围键 - date 添加全局二级索引。

      全局二级索引可以包含主键冲突的项目。使用此架构,您将防止项目被覆盖,并且您可以查询具有给定型号的项目。

      【讨论】:

        猜你喜欢
        • 2021-04-14
        • 1970-01-01
        • 2022-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-26
        相关资源
        最近更新 更多