Aws lambda DynamoDB-排序键属性名称

Aws lambda DynamoDB-排序键属性名称,aws-lambda,amazon-dynamodb,aws-sdk,dynamodb-queries,Aws Lambda,Amazon Dynamodb,Aws Sdk,Dynamodb Queries,在DynamoDB中使用散列和范围/排序键创建复合键时,将创造性字符串值存储在排序键中似乎非常有用(例如,“Details-123456-foo”,其中该值中的每个段对于该记录来说都是有意义的)。在设计模式时,文档似乎也会引导您朝这个方向前进 也就是说,将排序键命名为泛型(如“sortKey”或“rangeKey”)而不是特定的名称(如“CreateTimstamp”)是否有意义,以使您能够灵活地为同一哈希键存储各种数据,从而在使用带有哈希/排序键的“查询”API时保持快速的数据访问,Dynam

在DynamoDB中使用散列和范围/排序键创建复合键时,将创造性字符串值存储在排序键中似乎非常有用(例如,“Details-123456-foo”,其中该值中的每个段对于该记录来说都是有意义的)。在设计模式时,文档似乎也会引导您朝这个方向前进


也就是说,将排序键命名为泛型(如“sortKey”或“rangeKey”)而不是特定的名称(如“CreateTimstamp”)是否有意义,以使您能够灵活地为同一哈希键存储各种数据,从而在使用带有哈希/排序键的“查询”API时保持快速的数据访问,DynamoDB的最佳实践是为主键和排序键使用泛型名称

当您按预期使用DynamoDB时,将不同类型的项存储在一个表中。主键和排序键的特定于项类型的键名不适用于此。使用时也同样适用


让我们以一个博客的用例为例,其中有一些帖子和评论要存储在同一个DynamoDB表中。在这种情况下,每个帖子和评论都有某种唯一的id。您可以将主键命名为“post_id”,而不是将其命名为“post_id”(例如,仅为“id”),并通过将post和comment的类型前置到值(“post_1”、“post_2”、“comment_1”…)来存储它们。这同样适用于排序键,因为根据键类型,您可能希望按照不同的标准进行排序。

谢谢-这非常有意义,也证实了我的想法。和+1表示指向过载GSI的链接!太酷了!无论出于什么原因,我在网上找不到这些最佳实践。我个人更喜欢特定的版本,例如username_type或UsernameType,因为代码在以后是不言自明的。