2014-10-15 3 views
3

Я пытаюсь сохранить объекты JSON как таковые в dynamodb, используя новую добавленную поддержку типа JSON (мое понимание - тип JSON - это в основном карты + списки), так что я могу запросить и модифицировать вложенные документы JSON.Golang Package для dynamodb с картой, списком и поддержкой JSON

Я не мог найти пакет golang для dynamodb с поддержкой новых добавленных типов данных.

Любые предложения по этому поводу?

+1

https://github.com/smugmug/bbpd или https://github.com/nabeken/godynamo не подходят счет? – VonC

+0

этот пакет не поддерживает новые типы данных. Фактически я искал некоторые предложения по изменению/обновлению пакета для добавления новых типов, или кто-то, кто уже работает над этим –

ответ

0

Чтобы поместить JSON в AWS-dynamodb сначала нужно перебирать каждый атрибут JSON структуры и преобразовать его в dynamodb.AttributeValue в следующим образом:

func (e *DB) saveToDynamodb(data map[string]interface{}){ 
var vv=make(map[string]*dynamodb.AttributeValue) 

for k,v:=range data{ 
    x:=(v.(string)) //assert type as required 
    xx:=&(x) 
    vv[k]=&dynamodb.AttributeValue{S: xx,} 
} 
//s:=data["asset_id"].(string) 
params := &dynamodb.PutItemInput{ 
    Item: vv, 
    TableName: aws.String("Asset_Data"), // Required 
} 
resp, err := e.dynamodb.PutItem(params) 

if err != nil { 
    // Print the error, cast err to awserr.Error to get the Code and 
    // Message from an error. 
    fmt.Println(err.Error()) 
    return 
} 

// Pretty-print the response data. 
fmt.Println(resp) 
} 
Смежные вопросы