2016-02-06 31 views
4

我需要從使用ios sdk的dynamodb獲取~50個主鍵的項目。我能夠通過AWSDynamoDB.defaultDynamoDB()。batchGetItem獲取項目,但無法弄清楚是否可以使用對象映射器和響應。不幸的是,ios中的objectmapper類沒有batchGet函數。據我所知,我無法在這種情況下使用查詢。aws dynamodb如何使用批量進入ios的對象映射器

是否可以使用對象映射器?如果不是哪一個更有意義:解析響應以獲取所需的類實例或在每個項目上調用objectMapper.load?

回答

2

目前,AWSDynamoDBObjectMapper不支持批量獲取項目。如果要使用對象映射器,則需要一次加載一個項目。

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 for循環?我結束了做順便說一句 – fmog

相關問題