J'expérimente avec AWS-SDK-GO avec l'API DynamoDB ...attribut Cant unmarshall de DynamoDB
J'essaie d'interroger la db et retourner une chaîne. Mais je vais avoir quelques problèmes unmarshelling la valeur de retour ....
struct
type Item struct {
slug string
destination string
}
fonction de requête
input := &dynamodb.GetItemInput{
Key: map[string]*dynamodb.AttributeValue{
"slug": {
S: aws.String(slug),
},
},
TableName: db.TableName,
}
result, err := db.dynamo.GetItem(input)
if err != nil {
return "", err
}
n := Item{}
err = dynamodbattribute.UnmarshalMap(result.Item, &n)
if err != nil {
log.Printf("Failed to unmarshal Record, %v", err)
return "", err
}
log.Printf("dump %+v", n)
log.Printf("echo %s", n.slug)
log.Printf("echo %s", n.destination)
log.Printf("orig %v", result.Item)
résultat
2017/10/11 14:21:34 dump {slug: destination:}
2017/10/11 14:21:34 echo
2017/10/11 14:21:34 echo
2017/10/11 14:21:34 orig map[destination:{
S: "http://example.com"
} slug:{
S: "abcde"
}]
Pourquoi article retourné vide ?
J'ai essayé de regarder partout mais trouver aucune solution ....
quel est le type de données de destination d'attribut dans le tableau de DynamoDB? – notionquest
Chaîne les deux, comme la structure – Pedro
Avez-vous essayé la solution ci-dessous? – notionquest