首页 > 解决方案 > 在表上找到但未出现在全局二级索引中的文档

问题描述

真的很想知道这里发生了什么。

我们以(缩写)形式存储了文档:

{
  "a_certain_id": "259217078123",
  "name": "company name",
  "vat_number": "BE0912111111"
}

表中的 pk 是“vat_number”属性,但我们在“a_certain_id”上也有一个全局二级索引。

当我们对带有增值税号的表执行查询时,我们得到了预期的文档。

然后,我们使用文档中的复制粘贴属性对二级索引执行查询,但没有找到文档。

然后我们使用上述增值税号进行扫描,未找到任何文件。

我只能断定该文档在索引中不存在!

有没有办法管理这个,例如重新填充索引或者选择的哈希键/pk有什么问题?它不应该根据文档。

我们以下列形式进行查询:

key_condition_expression = Key(hash_key).eq(hash_value)
query_args = {"IndexName": index, "KeyConditionExpression": key_condition_expression}

result = dynamo_table.query(**query_args)

但这无关紧要,因为我们通过 boto3 或通过 aws 控制台客户端获得了相同的结果。

并且该查询适用于大多数公司,显然只有不在索引中的公司。

标签: pythonamazon-dynamodbboto3dynamodb-queries

解决方案


推荐阅读