当前位置: 首页 > 知识库问答 >
问题:

基于GSI的DynamoDB查询

宇文育
2023-03-14

在我的DynamoDB表中,有HashKey=ID和GSI=Type。我需要获取特定类型(GSI)的所有hashKeys(ID)。

在这种情况下,获取给定类型的所有ID的有效方法是什么?我的DynamoDB表不会很大。

共有2个答案

方砚
2023-03-14

您可以在GSI中查询您感兴趣的“类型”,并检索您感兴趣的ID,因为表中的所有键字段都会自动投影到GSI中

乐正翰
2023-03-14

查询该类型的索引。https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.Querying

如果您只想拥有不同的值,那么必须在客户端对它们进行分组:DynamoDB中全局二级索引的不同属性值

 类似资料:
  • 我有一个带有哈希键(id)的表(配置文件),我有一个关于名称的GSI,一个关于国家的范围键。我想创建一个DAO方法,它将获取所有具有给定值的name和country的记录,如下所示:List getProfileWithNameAndCountry(name,country);

  • 在我的Dynamodb表中,该表包含分区键“id”和“created_at”作为排序键的“batchs”和一个带有“batch_status”的GSI 假设我想查询状态为“正在进行”、“新建”、“已完成”的批。

  • PS:值得一提的是,我能够通过Appsync控制台成功地查询到这些数据,这让我坚信问题出在函数本身。

  • 在DynamoDB中,我有一个表,其中每条记录都有两个日期属性,

  • 我有一个名为“弗兰克”的DynamoDB表,只有一个GSI。分区键称为PK,排序键称为SK,GSI分区键称为GSI1_PKGSI排序键称为GSI1_SK。我有一个存储实际数据的“数据”映射。 GSI分区键和排序键直接映射到表中具有相同名称的属性。 我可以运行partiql查询来获取图像中显示的结果。以下是PartIQ代码: 注意分区代码是如何多次引用“GSI1_SK”的。分区查询有效,并返回图像中

  • 我一直在阅读关于使用GSI的最佳方式的问题,这一个DynamoDB:在查询中使用全球二级索引接近我所需要的,但我仍然有几个问题。 我需要进行以下三类查询: 根据我的理解,创建一个基于product_name的GSI将服务于所有三个目的。我想了解的是,在排序键中再添加2个带有launch_year和manufacture的GSI会加快查询2和3的速度吗?sort key的唯一目的是返回已排序的数据,