2016-07-15 21 views
0

DynamoDBにboto3を使用しています。ページングを行うために必要な他の投稿に基づいて、テーブルをフルスキャンする必要があります。しかし、実際のページネーションのサンプルを見つけることはできません。ここに私たちがしたことがあります。Boto3を使用したDynamoDBページ分割

import boto3 
client_setting = boto3.client('dynamodb', region_name='ap-southeast-2') 
paginator = client_setting.get_paginator('scan') 
esk = {} 
data = [] 
unconverted_ga = ourQuery(params1, params2) 
    for page in unconverted_ga: 
     data.append(page) 
     esk = page['LastEvaluatedKey'] 

次のクエリのExclusiveStartKeyとしてeskを作成する方法は正確にはわかりません。 ExclusiveStartkeyパラメータの期待値はどれくらいですか?私たちはまだDynamoDBの新機能であり、これを含む多くのことを学ぶ必要があります。ありがとう!

答えて

0

次のコードで試すことができます:ここでは

esk = None 

while True: 
    scan_generator = YourTableName.scan(max_results=10, exclusive_start_key=esk) 
    for item in scan_generator: 
     //your code for processing 
    //condition to check if entire table is scanned 
    else: 
     break; 

    # Load the last keys 
    esk = scan_generator.kwargs['exclusive_start_key'].values() 

は、リファレンスドキュメントがlink.

である検索の時間後

+0

ありがとうございますが、私は既に良い解決策を見つけました。 – vnpnlz

+0

@vnpnlzだから、 "より良い解決策"は何でしたか? –

+0

@ BruceEdgeページネーションを行う正しい方法だったので、私はすでに自分の答えを受け入れました。リンクを参照してください。 – vnpnlz

関連する問題