AwsDynamoDBsdk 0.4.0

AwsDynamoDBsdk 0.4.0

Nikola Mladenovic 维护。



  • Nikola Mladenovic

AwsDynamoDB - Swift

AwsDynamoDB 是一个 Swift 库,使您能够使用 Swift 访问 Amazon DynamoDB。有关此内容的更多信息,请参考 AWS DynamoDB 文档

Swift 5.2 Platforms iOS | macOS | watchOS | tvOS | Linux SPM compatible

此包使用 Swift 包管理器构建。请确保您已安装并激活最新版本的 Swift 4.2 工具链。

快速入门

要使用 AwsSns,修改 Package.swift 文件并添加以下依赖项

.package(url: "https://github.com/nikola-mladenovic/AwsSwiftDynamoDBsdk", from: "0.4.0")

然后将 AwsDynamoDB 库导入到 Swift 源代码中

import AwsDynamoDB

用法

当前版本支持以下功能:获取项目、添加项目、删除项目和查询。库使用 Codable 对从 DynamoDB 发送和接收的项目进行编码和解码。

要使用库,首先使用您的凭据和主机初始化 AwsDynamoDB 实例。之后初始化 AwsDynamoDBTable 实例

let dynamoDb = AwsDynamoDB(host: "https://dynamodb.us-west-2.amazonaws.com", accessKeyId: "OPKASPJPOAS23IOJS", secretAccessKey: "232(I(%$jnasoijaoiwj2919109233")
let testTable = dynamoDb.table(name: "test")

要从 DynamoDB 获取项目,使用 AwsDynamoDBTable 实例的 getItem 方法

testTable.getItem(key: (field: "id", value: "012345"), completion: { (success, item, error) in
    // Do some work
    ...
})

要从 DynamoDB 添加项目,使用 AwsDynamoDBTable 实例的 putItem 方法

struct Person: Codable {
    let id: String
    let name: String?
}

let person = Person(id: "012345", name: "Bill")

testTable.put(item: person, completion: { (success, error) in
    // Do some work
    ...
})

要从 DynamoDB 删除项目,使用 AwsDynamoDBTable 实例的 deleteItem 方法

testTable.deleteItem(key: (field: "id", value: "012345"), completion: { (success, error) in
    // Do some work
    ...
})

要在 DynamoDB 上更新项目,使用 AwsDynamoDBTable 实例的 update 方法

testTable.update(key: (field: "id", value: "012345"),
                 expressionAttributeValues: [":newBool" : true, ":incVal" : 3],
                 updateExpression: "SET bool=:newBool, num = num + :incVal",
                 completion: { (success, error) in
    // Do some work
    ...
})

要在 DynamoDB 中查询项目,使用 AwsDynamoDBTable 实例的 query 方法

testTable.query(keyConditionExpression: "id = :ident", expressionAttributeValues: [":ident" : "012345"]) { (success, items, error) in
    // Do some work
    ...
}

要在 DynamoDB 中扫描项目,使用 AwsDynamoDBTable 实例的 scan 方法

testTable.scan(expressionAttributeValues: [":ident" : "Test"], filterExpression: "id = :ident", limit: 1) { (success, items, error) in
// Do some work
...
}