Amazon dynamodb 创建没有散列的dynamodb表
我正在尝试创建一个没有哈希键的表。但我犯了一个错误 您必须指定KeySchema列表。如何创建没有任何键的表Amazon dynamodb 创建没有散列的dynamodb表,amazon-dynamodb,Amazon Dynamodb,我正在尝试创建一个没有哈希键的表。但我犯了一个错误 您必须指定KeySchema列表。如何创建没有任何键的表 userAccount: Type: AWS::DynamoDB::Table DeletionPolicy : Retain Properties: TableName: userAccount AttributeDefinitions: - AttributeName: userId AttributeType: S K
userAccount:
Type: AWS::DynamoDB::Table
DeletionPolicy : Retain
Properties:
TableName: userAccount
AttributeDefinitions:
- AttributeName: userId
AttributeType: S
KeySchema:
- AttributeName: userId
KeyType: S
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
DynamoDB表必须使用hashkey。没有哈希键,无法创建表
哈希键:-
哈希键是必需的
项的分区键也称为其哈希属性。这个
术语散列属性派生自内部函数的DynamoDB用法
散列函数,用于根据需要在分区之间均匀分布数据项
在它们的分区键值上
排序键:-
排序键是可选的
项目的排序键也称为其范围属性。术语
范围属性源自DynamoDB使用
相同的分区键物理上靠得很近,按
排序键值
根据,创建表时,必须指定主键,因为它允许标识表中的每个项。DynamoDb支持两种类型的主键:
一,。分区键哈希键:
DynamoDB使用分区键的值作为内部哈希函数的输入。哈希函数的输出确定DynamoDB内部的分区物理存储
二,。分区键和排序键:
这种类型的键称为复合主键,由两个属性组成。第一个属性是分区键,第二个属性是排序键
DynamoDB使用分区键值作为内部散列的输入
作用哈希函数的输出决定分区
DynamoDB内部的物理存储,项目将在其中存储
存储。存储具有相同分区键值的所有项
一起,按排序键值排序
这个问题中的其他答案是正确的,没有散列键就无法定义DynamoDB表。然而,您的问题意味着您不完全了解DynamoDB是如何工作的 把DynamoDB想象成一个无限大的文件柜。在这个文件柜里,你有无限多的文件夹。每个文件夹可能包含许多文件 由于DynamoDB希望在文件柜中查找任何内容都非常容易,因此每个文件夹都有一个唯一标识文件夹的标签,例如Folder1、Folder2、…、FolderN。每个文件夹中的文件也可以进行排序,以便您确切知道如何在每个文件夹中查找特定文件 DynamoDB中的散列键(也称为分区键)类似于文件夹上的标签。没有它,DynamoDB就不知道如何安排或检索文件柜中的文件夹 您始终需要定义分区键,以便DynamoDB知道如何快速存储和获取数据。毕竟,这就是为什么我们使用DynamoDB