1
DynamoDBテーブルにクエリを作成した後で、クエリ結果を印刷しようとしています。後でテーブルに表示させるつもりですが、今は正しく動作していることを確認したいのです。クエリは機能し、エラーは発生しません。私はそれが私が理解していない改ページ機能で何かをすると思う。私はドキュメントを読んでみましたが、それは私を助けませんでした。Swiftを使用してDynamoDBのクエリ結果を印刷する方法
func queryWithPartitionKeyAndSortKeyAndFilterWithCompletionHandler(completionHandler: (response: AWSDynamoDBPaginatedOutput?, error: NSError?) -> Void) {
let objectMapper = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper()
let queryExpression = AWSDynamoDBQueryExpression()
queryExpression.keyConditionExpression = "#userId = :userId AND #genre < :genre"
queryExpression.filterExpression = "#author > :author"
queryExpression.expressionAttributeNames = [
"#userId": "userId",
"#genre": "genre",
"#author": "author",
]
queryExpression.expressionAttributeValues = [
":userId": AWSIdentityManager.defaultIdentityManager().identityId!,
":genre": "fiction",
":author": "Taylor",
]
objectMapper.query(Books.self, expression: queryExpression, completionHandler: {(response: AWSDynamoDBPaginatedOutput?, error: NSError?) -> Void in
dispatch_async(dispatch_get_main_queue(), {
completionHandler(response: response, error: error)
})
})
}
let completionHandler = {(response: AWSDynamoDBPaginatedOutput?, error: NSError?) -> Void in
if let error = error {
var errorMessage = "Failed to retrieve items. \(error.localizedDescription)"
if (error.domain == AWSServiceErrorDomain && error.code == AWSServiceErrorType.AccessDeniedException.rawValue) {
errorMessage = "Access denied. You are not allowed to perform this operation."
}
}else {
print("I did it")
print(response)
}
}
それがうまくいった!私はprint(response!.items)を使用し、それが出力を印刷したので私は満足しています。 –