我在dynamoDB中创建了一个带有哈希键=“ABC”的条目以及其他一些属性。
现在当我执行一个包含2个具有相同散列键“ABC”且其他属性不同的批次时,它没有做任何事情。
这是什么问题?
答案 0 :(得分:0)
表中的哈希键值必须为唯一。除非您使用散列键(即分区键)和排序键定义了表,否则该表不能具有两个具有相同散列键值的项。
分区键 - 一个简单的主键,由一个已知属性组成 作为分区键。
DynamoDB使用分区键的值作为内部哈希的输入 功能。散列函数的输出确定分区 (项目所在的物理存储)项目将在其中 存储
在只有一个分区键的表中,没有两个项可以拥有 相同的分区键值。
表,项和属性中描述的People表是一个 具有简单主键(PersonID)的表的示例。您可以 通过提供,立即访问People表中的任何项目 该项目的PersonId值。
分区键和排序键 - 称为复合主键, 这种类型的密钥由两个属性组成。第一个属性是 分区键,第二个属性是排序键。
DynamoDB使用分区键值作为内部哈希的输入 功能。散列函数的输出确定分区 (项目所在的物理存储)项目将在其中 存储。具有相同分区键的所有项目都存储在一起 按排序键值排序。