Retrieve all items from DynamoDB using query?
amazon-dynamodb, boto, python
Solution
Ahh ok, figured it out. If anyone needs:
You can't use the query method on a table without specifying a specific hash key. The method to use instead is scan. So if I replace:
x = tab.query()
with
x = tab.scan()
I get all the items in my table.
Problem
I am trying to retrieve all items in a dynamodb table using a query. Below is my code: ``` 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) ``` However, I recieve the following error: ``` ValidationException: ValidationException: 400 Bad Request {'message': 'Conditions can be of length 1 or 2 only', '__type': 'com.amazon.coral.validate#ValidationException'} ``` The code I have is pretty straightforward and out of the boto dynamodb2 docs, so I am not sure why I am getting the above error. Any insights would be appreciated (new to this and a bit lost). Thanks EDIT: I have both an hash key and a range key. I am able to query by specific hash keys. For example, ``` x = tab.query(hash__eq="2014-01-20 05:06:29") ``` How can I retrieve all items though?