Я пытаюсь получить все элементы в таблице dynamodb с помощью запроса. Ниже мой код:Извлечь все предметы из DynamoDB с помощью запроса?
import boto.dynamodb2
from boto.dynamodb2.table import Table
from time import sleep
c = boto.dynamodb2.connect_to_region(aws_access_key_id="XXX",aws_secret_access_key="XXX",region_name="us-west-2")
tab = Table("rip.irc",connection=c)
x = tab.query()
for i in x:
print i
sleep(1)
Однако, я получаю следующее сообщение об ошибке:
ValidationException: ValidationException: 400 Bad Request
{'message': 'Conditions can be of length 1 or 2 only', '__type': 'com.amazon.coral.validate#ValidationException'}
код у меня есть довольно просто и из боты dynamodb2 документов, поэтому я не знаю, почему я получив вышеуказанную ошибку. Любые идеи были бы оценены (новинка к этому и немного потерянная). Спасибо
EDIT: У меня есть как хэш-ключ, так и клавиша диапазона. Я могу запросить конкретные хэш-ключи. Например,
x = tab.query(hash__eq="2014-01-20 05:06:29")
Как я могу получить все предметы?
Это не решение, вы не собираетесь использовать сканирование для вашего приложения логики, это очень дорого! Вы должны переосмыслить свои индексы и использовать запрос или get_item! –
Сканирование - разумное решение для небольших таблиц. Источник: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScanGuidelines.html – Luhar