2

So basically I an kinda new to golang and need to parse the output of dynamodb.GetItemOutput type. Here is a sample:

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

Any help would be wonderful. Thanks a lot.

1 Answer 1

2

I would recommend to use ODM (Object Document Mapper) for Go

We have used the following and would recommend it.

https://github.com/guregu/dynamo

You can use with regular json objects and ODM will convert it to dynamodb form and manage mapping automatically.

    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)

In the above example the code just deals only with javascript objects, mapping to dynamodb is automatically taken care.

Hope it helps.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.