Golang aw -sdk-go dynamodb UnmarshalMap类型错误分配



我得到以下错误:cannot use dynamodbattribute.UnmarshalMap(result.Item, &item) (type error) as type Item in assignment当我尝试使用UnmarshalMap方法分配我的结构

我从DynamoDB表中获得项目

result, err := svc.GetItem(&dynamodb.GetItemInput{
TableName: aws.String(tableName),
Key: map[string]*dynamodb.AttributeValue{
"ForumName": {
S: aws.String(forumName),
},
},
})

得到以下JSON响应体

{
"Item":{
"Threads":{
"N":"30"
},
"Category":{
"S":"Amazon Web Services"
},
"Messages":{
"N":"11"
},
"Views":{
"N":"99"
},
"ForumName":{
"S":"AWS Step Functions"
}
}
}

现在当我尝试给struct

赋值时
type Item struct {
ForumName string `dynamodbav:"ForumName,stringset"`
Category  string `dynamodbav:"Category,stringset"`
Messages  int    `dynamodbav:"Messages,numberset"`
Threads   int    `dynamodbav:"Threads,numberset"`
Views     int    `dynamodbav:"Views,numberset"`
}
var item Item
item = dynamodbattribute.UnmarshalMap(result.Item, &item)

我在这里得到错误item = dynamodbattribute.UnmarshalMap(result.Item, &item)

我也试着设置我的结构像这样

type Item struct {
ForumName string 
Category  string 
Messages  int    
Threads   int    
Views     int    
}

尝试Cerise Limón所说的,正确地管理错误,因为您将error类型来自dynamodbattribute.UnmarshalMap在预定义的项目类型变量中。所以它不会编译。

相关内容

  • 没有找到相关文章

最新更新