0
Complete scan of dynamoDb with boto3で説明されているように、いくつかの条件を使用してDynamoDBテーブルをフルスキャンするソリューションを構築します。これは私のコードです:DynamoDBスキャンの無限ループ
def dynamo_scan(table_name, params_dict):
dynamo_table = boto3.resource('dynamodb').Table(table_name)
response = do_scan(dynamo_table, params_dict)
results = response['Items']
while response.get('LastEvaluatedKey'):
print "Iterating"
print response.get('LastEvaluatedKey')
params_dict['ExclusiveStartKey'] = response['LastEvaluatedKey']
response = do_scan(dynamo_table, params_dict)
results.extend(response['Items'])
return results
def do_scan(dynamo_table, params_dict):
return dynamo_table.scan(**params_dict)
しかし、コードが実行されると、無限ループに入ります。これは、LastEvaluatedKeyの各繰り返しの出力です。
{u'my_id': u'1698', u'identity': u'2017075002312'}
{u'my_id': u'1883', u'identity': u'85500397082900013318629'}
{u'my_id': u'1698', u'identity': u'2017075002312'}
{u'my_id': u'1883', u'identity': u'85500397082900013318629'}
{u'my_id': u'1698', u'identity': u'2017075002312'}
{u'my_id': u'1883', u'identity': u'85500397082900013318629'}
そして、これらの2つのペアをループし続けます。
EDITED:
私はdo_scanメソッドを追加しました。
はい、私は私の方法のdo_scanを追加しました。私はあなたと同じ解決策だと思いますが、私は毎回無限ループに陥ります。 –
データベースにはどのくらいのデータがありますか? – Lexxxxx