aws dynamodb 如何使用对象映射器批量获取 ios
aws dynamodb how to use object mapper with batch get in ios
我需要使用 ios sdk 从 dynamodb 获取约 50 个项目及其主键。我可以通过 AWSDynamoDB.defaultDynamoDB().batchGetItem 获取项目,但无法弄清楚是否可以将对象映射器与响应一起使用。不幸的是 ios 中的 objectmapper class 没有 batchGet 函数。据我所知,我不能在这种情况下使用查询。
是否可以使用对象映射器?如果不是哪个更有意义:解析响应以获得所需的 class 实例或在每个项目上调用 objectMapper.load?
目前AWSDynamoDBObjectMapper
不支持批量获取物品。如果要使用对象映射器,您需要一次加载一项。
我这样做解决了,
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
}
我需要使用 ios sdk 从 dynamodb 获取约 50 个项目及其主键。我可以通过 AWSDynamoDB.defaultDynamoDB().batchGetItem 获取项目,但无法弄清楚是否可以将对象映射器与响应一起使用。不幸的是 ios 中的 objectmapper class 没有 batchGet 函数。据我所知,我不能在这种情况下使用查询。
是否可以使用对象映射器?如果不是哪个更有意义:解析响应以获得所需的 class 实例或在每个项目上调用 objectMapper.load?
目前AWSDynamoDBObjectMapper
不支持批量获取物品。如果要使用对象映射器,您需要一次加载一项。
我这样做解决了,
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
}