具有DynamoDB hashKey问题的Vogels

时间:2016-12-21 12:01:49

标签: node.js amazon-web-services amazon-dynamodb vogels

我一直在使用Vogels和NodeJS - Vogels处理我在DynamoDB本地创建架构。它完美无缺。

出于某种原因,我在尝试使用DynamoDB服务在AWS中部署应用时遇到问题。我收到了错误:

Details:TypeError: Cannot read property 'hashKey' of undefined

我甚至尝试手动设置架构,但DynamoDB在AWS控制台中没有hashKey选项。它只提供以下选项:

  • 主键/分区(字符串/二进制/数字)
  • 排序键(字符串/二进制/数字)

是否有人遇到此问题或知道如何处理创建架构?

1 个答案:

答案 0 :(得分:1)

当你说两个主键时。我认为你的意思是散列键和排序键(两个独立的属性)。

请注意,两个属性不能成为哈希键的一部分。

哈希键 - 1个属性

排序键 - 1个属性

DynamoDB支持两种不同的主键:

分区键 - 一个简单的主键,由一个属性组成,称为分区键。 DynamoDB使用分区键的值作为内部哈希函数的输入;哈希函数的输出确定将存储项目的分区。表中没有两个项可以具有相同的分区键值。

分区键和排序键 - 由两个属性组成的复合主键。第一个属性是分区键,第二个属性是排序键。 DynamoDB使用分区键值作为内部哈希函数的输入;散列函数的输出确定将存储项目的分区。具有相同分区键的所有项目按排序键值按排序顺序存储在一起。两个项可能具有相同的分区键值,但这两个项必须具有不同的排序键值。

Primary key

在AWS控制台中创建表格的屏幕截图: -

Create table in AWS Console