执行放置项目请求 - AWS DynamoDB ios SDK

bko*_*opp 2 amazon-web-services ios amazon-dynamodb swift aws-sdk

也查看了 SO 和 Amazon 的文档,但找不到任何关于如何使用 iOS SDK(特别是使用 Swift)发出放置请求的可靠文档。

我认为我需要先实例化一个 AWSDynamoDBClient(https://aws.amazon.com/articles/7439603059327617),但是当我在 xcode 中工作时没有看到它显示为一种类型。

经过所有这些斗争,老实说,我只有两行代码:

var myDynamoDBPutRequest:AWSDynamoDBPutRequest = AWSDynamoDBPutRequest()
    myDynamoDBPutRequest.item = ["fbid": "test"]
Run Code Online (Sandbox Code Playgroud)

我不知道如何运行它,并且怀疑请求是否设置正确。我也看过 PutItemInputs,但不确定它与 putRequest.item 有何不同。如果有人能指出我正确的方向,我会很乐意自己进行调查-我只是没有地方寻找好的文档:/

编辑:

我已经取得了一些进展,但仍然无法弄清楚如何正确创建一个放置项 input 。这是我现在拥有的代码:

 var myPutItemInput:AWSDynamoDBPutItemInput = AWSDynamoDBPutItemInput()
    myPutItemInput.tableName = "mytable"

    var myDynamoDB = AWSDynamoDB.defaultDynamoDB()

    myDynamoDB.putItem(myPutItemInput).continueWithBlock { (task:BFTask!) -> AnyObject! in
        if(task.result != nil){
            let myPutOutput = task.result as AWSDynamoDBPutItemOutput

            println(task.result)

        }else{
            println("task.result was nil for put item request")
        }

        return nil
    }//end put item task
Run Code Online (Sandbox Code Playgroud)

现在我至少想出了如何执行请求,但每次结果都是 nil。

Yos*_*uda 5

下面是一个例子- putItem

let dynamoDB = AWSDynamoDB.defaultDynamoDB()

let putItemInput = AWSDynamoDBPutItemInput()
putItemInput.tableName = "testTableName"
let hashValue = AWSDynamoDBAttributeValue()
hashValue.S = "testPutItem"
let stringValue = AWSDynamoDBAttributeValue()
stringValue.S = "stringValue";
putItemInput.item = [
    "hashKey" : hashValue,
    "stringKey" : stringValue
]

dynamoDB.putItem(putItemInput).continueWithBlock { (task:AWSTask?) -> AnyObject? in
    if(task.error != nil) {
        println(task.error)
    }

    if (task.result != nil) {
        let putItemOutput = task.result as AWSDynamoDBPutItemOutput
        println(putItemOutput)
    }

    return nil
}
Run Code Online (Sandbox Code Playgroud)

即使它在 Objective-C 中,查看集成测试可能有助于了解如何将 Amazon DynamoDB 与适用于 iOS v2 的 AWS 移动开发工具包一起使用。