我的表格大約是220MB,其中有250k條記錄。我試圖把所有這些數據都放到python中。我意識到這需要分塊批處理並循環通過,但我不確定如何將批處理設置爲開始之前離開的位置。用boto3完整掃描dynamoDb
有什麼方法可以過濾我的掃描嗎?從我讀的過濾發生在加載和加載停止在1MB,所以我實際上不能夠掃描新的對象。
任何援助將不勝感激。
import boto3
dynamodb = boto3.resource('dynamodb',
aws_session_token = aws_session_token,
aws_access_key_id = aws_access_key_id,
aws_secret_access_key = aws_secret_access_key,
region_name = region
)
table = dynamodb.Table('widgetsTableName')
data = table.scan()
注意,在'頁[」項目Items']'可能不是您所期望的:由於此分頁程序非常通用,因此每個DynamoDB項目都會返回一個格式類型的字典:value,例如'{'myAttribute':{'M':{}},'yourAttribute':{'N':u'132457'}}'對於一個空映射和一個數字類型的行需要被強制轉換;我建議'decimal.Decimal',因爲它已經接受了一個字符串並且會處理非整數)。其他類型,例如字符串,地圖和布爾值,由boto轉換爲它們的Python類型。 – kungphu
是否有掃描過濾器或filterexpression與分頁? – vnpnlz
paginators會很棒,如果它不是針對@kungphu提出的問題。我沒有看到用它來做一件有用的事情,但是通過用無關的元數據污染響應數據來抵消它。 –