1

Кто-нибудь сталкивался с этим раньше?AWS Boto: scan() unknown keyword 'limit'

import boto 

conn = boto.dynamodb.connect_to_region('eu-west-1', aws_access_key_id=aws_key, aws_secret_access_key=aws_secret) 
table = conn.get_table('TweetSample') 

print table.scan(limit=1) 

ошибка:

Traceback (most recent call last): 
File "test.py", line 9, in <module> 
print table.scan(limit=1) 
File "table.py", line 518, in scan 
return self.layer2.scan(self, *args, **kw) 
TypeError: scan() got an unexpected keyword argument 'limit' 
[Finished in 0.4s with exit code 1] 

Я даже не знаю ...

ответ

0

Согласно документации, scan method из boto.dynamodb.table.Table (который возвращается boto.dynamodb.layer2.Layer2.get_table) не принимает limit, но max_results.

И в результате получается генератор. Итак, если вы хотите напечатать его, вы должны повторять его:

import boto.dynamodb 

conn = boto.dynamodb.connect_to_region(
    'eu-west-1', 
    aws_access_key_id=aws_key, 
    aws_secret_access_key=aws_secret) 
table = conn.get_table('TweetSample') 
for row in table.scan(max_results=1): 
    print row 

или преобразовать его в последовательность:

print list(table.scan(max_results=1))