go - 解析Golang中的dynamodb.GetItemOutput类型

标签 go amazon-dynamodb aws-sdk

所以基本上我对 golang 有点陌生,需要解析 dynamodb.GetItemOutput 类型的输出。这是一个示例:

{
    Item: {
      share: {
        L: [{
        S: "Hello"
          },{
        S: "Brave"
          }]
      },
      userid: {
        S: "43"
      },
      amount: {
        S: "1000"
      },
      library: {
        L: [{
        S: "Demons"
          },{
        S: "HUMBLE"
          }]
      }
    }
}

任何帮助都会很棒。 非常感谢。

最佳答案

我建议使用 Go 的 ODM(对象文档映射器)

我们已经使用了以下内容并推荐它。

https://github.com/guregu/dynamo

您可以使用常规 json 对象,ODM 会将其转换为 dynamodb 形式并自动管理映射。

    db := dynamo.New(session.New(), &aws.Config{Region: aws.String("us-west-2")})
    table := db.Table("Widgets")

    // put item
    w := widget{UserID: 613, Time: time.Now(), Msg: "hello"}
    err := table.Put(w).Run() 

    // get the same item 
    var result widget
    err = table.Get("UserID", w.UserID).
        Range("Time", dynamo.Equal, w.Time).
        Filter("'Count' = ? AND $ = ?", w.Count, "Message", w.Msg). // placeholders in expressions
        One(&result)

    // get all items
    var results []widget
    err = table.Scan().All(&results)

在上面的示例中,代码仅处理 javascript 对象,会自动处理到 dynamodb 的映射。

希望有帮助。

关于go - 解析Golang中的dynamodb.GetItemOutput类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46748367/

相关文章:

python - golang <--> python 通信的最简单的 pub-sub 通信,可能跨机器?

go - 如何修复 linter 警告 `Error return value is not checked`?

php - unmarshalItem DynamoDB 和 PHP 不工作

python - 如何将 AWS 的 Dynamo Db 与 Django 结合使用?

amazon-dynamodb - 查询中的 AWS Dynamodb 限制选项是否限制使用的容量单位?

java - com.amazonaws.AmazonClientException : Data read has a different length than the expected

multithreading - GO:在简单的 tcp 服务器上超过 10000 个线程?

amazon-web-services - 使用 AWS Go 开发工具包的动态 list

php - AWS S3 预签名请求缓存

Golang : Recursive function for reconnecting a TCP client. .. 坏主意?