【以下的问题经过翻译处理】 我已经创建了这样的模式~
type UserDetails struct {
UserId string `json:"userId,omitempty"`
FirstName string `json:"firstName,omitempty"`
LastName string `json:"lastName,omitempty"`
Username string `json:"username,omitempty"`
HandleName string `json:"handlename,omitempty"`
Email string `json:"email,omitempty"`
Bio string `json:"bio,omitempty"`
Number int `json:"phoneNumber,omitempty"`
SocialHandle string `json:"socialHandle,omitempty"`
BankDetails string `json:"bankDetails,omitempty"`
Image string `json:"image,omitempty"`
Password string `json:"password,omitempty"`
Resume string `json:"resume,omitempty"`
Pincode int `json:"pinCode,omitempty"`
Onboarding string `json:"onboarding,omitempty"`
}
这里的Key和onboarding分别是我的主要和排序键。然后我加入了如下数据~
movie := Movie{
UserId: "2323",
Username: "Tdae",
}
然后是我所做的普通MarshalMap,并使用了数据来获取该项。
key, err := dynamodbattribute.MarshalMap(movie)
if err != nil {
fmt.Println(err.Error())
return
}
input := &dynamodb.GetItemInput{
Key: key,
TableName: aws.String("tablename"),
}
result, err := svc.GetItem(input)
if err != nil {
fmt.Println(err)
fmt.Println(err.Error())
return
}
奇怪的是,我使用了相同的代码插入数据,并进行了一些更改,但在提取数据时它显示出错~ValidationException:提供的键元素与模式不匹配。