0
DynamoDBのiOS SDKガイドで例を再現しようとしています。AWSDynamoDBObjectMapper.loadがSwiftのテーブルからデータを取得しない
<AWSDynamoDBKeySchemaElement: 0x600000038080> {
attributeName = Id;
keyType = 1;
}
<AWSDynamoDBAttributeDefinition: 0x600000037ec0> {
attributeName = Id;
attributeType = 2;
}
しかし、私はdynamoDBObjectMapper.loadを使用しようとすると、私は結果にnilの値を取得しています:私は、次の出力に示すようにAWSDynamoDBKeySchemaElementsとAWSDynamoDBAttributeDefinitionsを照会することができています。テーブル名はProductCatalogで、クラス定義がある:
import Foundation
import AWSDynamoDB
class ProductCatalog: AWSDynamoDBObjectModel, AWSDynamoDBModeling {
var Id: NSNumber?
var PageCount: NSNumber?
var Title: String?
class func dynamoDBTableName() -> String {
return "ProductCatalog"
}
class func hashKeyAttribute() -> String {
return "Id"
}
}
私が使用しているクエリがある:
dynamoDBObjectMapper = AWSDynamoDBObjectMapper.default()
dynamoDBObjectMapper.load(ProductCatalog.self, hashKey: 101, rangeKey: nil).continueWith(block:
{(task: AWSTask<AnyObject>) -> Any? in
if let error = task.error as NSError? {
print ("The request failed with \(error)")
} else if let resultBook = task.result as? ProductCatalog {
print("Title:", resultBook.Title)
}
return nil
})
Idが101である行がテーブル内に存在する:
{
"Authors": [
"Author1"
],
"Dimensions": "8.5 x 11.0 x 0.5",
"Id": 101,
"InPublication": true,
"ISBN": "111-1111111111",
"PageCount": 500,
"Price": 2,
"ProductCategory": "Book",
"Title": "Winterdance"
}
私はこれで2日間これに苦しんでいます。どんな助けでも大歓迎です。