У меня есть таблица dynamodb для хранения информации атрибута электронной почты. У меня есть хэш-ключ в электронном письме, ключ диапазона на отметке времени (число). Первоначальная идея использования электронной почты как хеш-ключа - запрашивать все электронные письма по электронной почте. Но одна вещь, которую я пытаюсь сделать, - это восстановить все идентификаторы электронной почты (в хэш-ключ). Я использую boto для этого, но я не уверен, как получить различные идентификаторы электронной почты.Извлечь отдельные значения из хэш-ключа - DynamoDB
Мой текущий код тянуть 10000 электронной записи является
conn=boto.dynamodb2.connect_to_region('us-west-2')
email_attributes = Table('email_attributes', connection=conn)
s = email_attributes.scan(limit=10000,attributes=['email'])
Но для получения различных записей, я должен буду сделать полное сканирование таблицы, а затем выбрать различные записи в коде. Еще одна идея, которую я имею, заключается в том, чтобы сохранить другую таблицу, которая будет просто хранить эти письма и делать условные записи, чтобы увидеть, существует ли идентификатор электронной почты, если не писать. Но я пытаюсь подумать, будет ли это дороже, и это будет условная запись.
Q1.) Is there a way to retrieve distinct records using a DynamoDB scan?
Q2.) Is there a good way to calculate the cost per query?
Здравствуйте, Александр, можно сканировать 1000 предметов, а затем сказать fetch 10, а затем сканировать следующие 1000 предметов? Этот подход ужасно дорог? – Marin