Amazon dynamodb 创建Dynamodb表,除了分区键之外还有3个搜索列,这可能吗?

Amazon dynamodb 创建Dynamodb表,除了分区键之外还有3个搜索列,这可能吗?,amazon-dynamodb,Amazon Dynamodb,您好,我已经创建了一个dynamodb表,但是当我尝试执行table.GetItem时,仅附加用户名图像时出现了错误 发现这是一个设计糟糕的表,所以考虑到重新创建一个新表,我的问题是如何为一个包含一个主键和3个搜索列的表设置属性、本地二级索引和全局二级索引。 或 在dynamodb中,除了分区键columnuser\u ID之外,还有3个搜索列suser\u email、Username、Usertype吗?GetItem API需要分区键和排序键。但是,您可以使用仅具有分区键属性值的查询API

您好,我已经创建了一个dynamodb表,但是当我尝试执行table.GetItem时,仅附加用户名图像时出现了错误

发现这是一个设计糟糕的表,所以考虑到重新创建一个新表,我的问题是如何为一个包含一个主键和3个搜索列的表设置属性、本地二级索引和全局二级索引。 或 在dynamodb中,除了分区键columnuser\u ID之外,还有3个搜索列suser\u email、Username、Usertype吗?

GetItem API需要分区键和排序键。但是,您可以使用仅具有分区键属性值的查询API。对于查询API,排序键不是必需的

获取项目规则:-

对于主键,必须提供所有属性。对于 例如,对于一个简单的主键,您只需要提供一个值 对于分区键。对于复合主键,必须提供 分区键和排序键的值

每个表最多可以定义5个本地二级索引和5个全局二级索引

LSI附加到特定的分区键值,而GSI跨越所有分区键值。由于具有相同分区键值的项在DynamoDB中共享同一分区,因此本地二级索引仅覆盖存储在同一分区上的项。因此,LSI的目的是查询具有相同分区键值但不同排序键值的项。例如,考虑一个跟踪客户订单的DeaDoDB表,其中CustomerId是分区键。 使用本地二级索引时,对项目集合有限制 大小:对于每个不同的分区键值,所有 表和索引项不能超过10 GB。这可能会限制市场 每个分区键值的排序键数


非常感谢@conceptquest,//一个LSI附加到一个特定的分区键值//这意味着只有当表具有相同的分区和不同的排序键值时,LSI才会有用。在这种情况下,若我有唯一的分区,那个么LSI是不需要的,对吗?若你们只有分区密钥,那个么LSI是不需要的。我不明白你说的唯一分区是什么意思?您可以将LSI视为备用排序键。