2016-02-06 5 views
4

Мне нужно получить ~ 50 элементов с их первичными ключами из dynamodb с помощью ios sdk. Я могу получить элементы с помощью AWSDynamoDB.defaultDynamoDB(). batchGetItem, но не мог понять, можно ли использовать объект mapper с ответом. К сожалению, класс objectmapper в ios не имеет функции batchGet. Насколько я знаю, я не могу использовать запрос в этой ситуации.aws dynamodb Как использовать объект mapper с пакетом get in ios

Можно ли использовать объект mapper? Если нет, то какой смысл имеет смысл: синтаксический анализ ответа на получение требуемого экземпляра класса или вызов objectMapper.load для каждого элемента?

ответ

2

В настоящее время AWSDynamoDBObjectMapper не поддерживает партию. Вам нужно загрузить один элемент за раз, если вы хотите использовать объект mapper.

0

Я решил его, делая это,

let dynamoDBObjectMapper = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper() 
    let task1 = dynamoDBObjectMapper.load(User.self, hashKey: "rtP1oQ5DJG", rangeKey: nil) 
    let task2 = dynamoDBObjectMapper.load(User.self, hashKey: "dbqb1zyUq1", rangeKey: nil) 

    AWSTask.init(forCompletionOfAllTasksWithResults: [task1, task2]).continueWithBlock { (task) -> AnyObject? in 
     if let users = task.result as? [User] { 
      print(users.count) 
      print(users[0].firstName) 
      print(users[1].firstName) 
     } 
     else if let error = task.error { 
      print(error.localizedDescription) 
     } 
     return nil 
    } 
+0

не было бы то же самое, как вызов objectmapper.load в цикле? который я закончил делать btw – fmog