Документ найден в таблице, но отсутствует в глобальном вторичном индексе - PullRequest
1 голос
/ 25 февраля 2020

очень интересно, что здесь происходит.

Мы сохранили документы в (сокращенной) форме:

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

pk в таблице - это свойство "vat_number", но мы также имеет глобальный вторичный индекс для "a_termin_id".

Когда мы выполняем запрос для таблицы с номером НДС, мы получаем документ, как и ожидалось.

Мы затем выполните запрос для вторичного индекса со свойством copy-paste из документа, и мы не найдем документ.

Затем мы выполним сканирование с чаном число, описанное выше, документ не найден.

Я могу только заключить, что документ не существует в индексе!

Есть ли способ управления этим, например, повторное заполнение индекса или что-то не так с выбранным ключом ha sh / 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 консольный клиент.

И запрос работает для большинства компаний, по-видимому, только компании, которых нет в индексе.

...