gpt4 book ai didi

go - 使用 Go SDK,如何将 DynamoDB 表项字段设置为 map ?

转载 作者:IT王子 更新时间:2023-10-29 02:09:33 25 4
gpt4 key购买 nike

我正在尝试使用 UpdateItem 方法将表项字段的值设置为 map 。这是我尝试过的:

type myStruct {
name string
}

myStructInstance := myStruct{name: "foo"}

_, err := svc.UpdateItem(&dynamodb.UpdateItemInput{
TableName: aws.String("MyTable"),
Key: myKey,
ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
":m": {
M: dynamodbattribute.MarshalMap(*myStructInstance),
},
},
UpdateExpression: aws.String("SET myField = :m"),
})

有了这个,我不断收到错误:

multiple-value dynamodbattribute.MarshalMap() in single-value context

我做错了什么?

最佳答案

啊,我忘了 MarshalMap 函数有两个返回值,所以我必须这样做:

av, err := dynamodbattribute.MarshalMap(*myStructInstance)

_, err = svc.UpdateItem(&dynamodb.UpdateItemInput{
TableName: aws.String("MyTable"),
Key: myKey,
ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
":m": {
M: av,
},
},
UpdateExpression: aws.String("SET myField = :m"),
})

关于go - 使用 Go SDK,如何将 DynamoDB 表项字段设置为 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51294877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com