3

DynamoDB API を使用して AWS-SDK-GO を試しています...

データベースにクエリを実行して文字列を返そうとしています。しかし、戻り値の非整列化に問題があります....

構造体

type Item struct {
     slug string
     destination string
}

クエリ関数

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)

結果

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"
}]

アイテムが空の状態で返されるのはなぜですか?

あちこち調べてみましたが解決策が見つかりません…。

4

2 に答える 2