从 DynamoDB 检索数据时,排序键字段是否必须作为搜索条件的一部分?

Ven*_*ana 1 amazon-dynamodb dynamo-local

我正在尝试在包含 HashKey 和 SortKey 字段的表上运行 DynamoDB 查询。

在进行get-item操作时,当我为两个hashkey,sortkey字段提供密钥时,我会看到结果。但是当我尝试仅使用 hashkey 字段时,出现以下异常:

An error occurred (ValidationException) when calling the GetItem operation: One of the required keys was not given a value

难道我们不能仅根据 hashkey 获取 DynamoDB 数据吗?

小智 5

当我们在表中同时使用partition key和 时sort key,主键将基于两者生成。这意味着可能有多个具有相同partition key(哈希键)的项目。

举个例子,

partition key | sort key  
1 | A  
1 | B  
2 | A  
2 | B 
Run Code Online (Sandbox Code Playgroud)

为了执行获取操作,您需要指定项目的主键。在您的表中,哈希键不是主键。您需要指定分区键和排序键才能从表中获取项目。

此外,如果您使用查询操作,则仅指定分区键即可。