Мне нужна помощь!
Я пытаюсь зачитать мою DynamoDB в приложение IOS в Swift.
Похоже, что SDK сканирует только с PaginatedOutput.
Я не могу получить paginatedoutput для загрузки большего количества страниц. Lastevaluatedkey всегда один и тот же, и больше страниц не загружается.
Вот мой код:
---
func scan(){
let scanExpression = AWSDynamoDBScanExpression()
scanExpression.limit = 5000
let dynamoDBObjectMapper = AWSDynamoDBObjectMapper.default()
dynamoDBObjectMapper.objectMapperConfiguration.consistentRead = 0
dynamoDBObjectMapper.scan(Rplaces.self, expression: scanExpression).continueWith(block: { (task:AWSTask!) -> Any? in
self.paginatedOutput = task.result
DispatchQueue.main.async(execute: {
print("next " , self.paginatedOutput?.lastEvaluatedKey ?? "")
for item in self.paginatedOutput?.items as! [Rplaces] {
print("place ", item.id ?? 0)
}
})
if self.paginatedOutput?.lastEvaluatedKey != nil{
print("second loop " , self.paginatedOutput?.lastEvaluatedKey ?? "")
self.loadMoreResults()
}
return true
})
return
}
func loadMoreResults() {
paginatedOutput?.loadNextPage(completionHandler: {(error: NSError?) -> Void in
DispatchQueue.main.async(execute: {
print("next " , self.paginatedOutput?.lastEvaluatedKey ?? "")
for item in self.paginatedOutput?.items as! [Rplaces] {
print("place ", item.id ?? 0)
}
})
} as? (Error?) -> Void)
}
}