登录
首页 >  Golang >  Go问答

避免在 DynamoDb 上执行 PutItem 时出现错误的 AWS SDK Go V2 初始化 PutItemInput 结构方法

来源:stackoverflow

时间:2024-02-27 22:18:28 167浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《避免在 DynamoDb 上执行 PutItem 时出现错误的 AWS SDK Go V2 初始化 PutItemInput 结构方法》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

当我尝试使用 aws go sdk v2 初始化输入变量以在 dynamodb 表上执行 putitem 时,出现错误 - 复合文字中缺少类型。我在这里查看了 struct putiteminput - https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/[电子邮件受保护]#putiteminput 我不明白如何消除此错误? id是mytable中的分区键

input := &dynamodb.PutItemInput{
            TableName: aws.String("mytable"),
            Item: map[string]types.AttributeValue{
                "id": {
                    N: aws.String(a.ID),
                },
            },
        }

正确答案


Item: map[string]types.AttributeValue{
    "id": &types.AttributeValueMemberN{a.ID},
}

types.AttributeValue 是一种接口类型。在构造接口的映射或切片时,您无法从复合文字中删除各个元素的具体类型。您需要告诉编译器您希望元素具有什么具体类型。

aws sdk go v2

类型 astruct 结构 {
id int64
名称字符串
}

var a = astruct {
id:123
名称:“dummyname”
}

itemmap := map[string]types.attributevalue{
"id": &types.attributevaluemembern{value: strconv.itoa(int(a.id))},
"名称": &types.attributevaluemembers{值: a.name},
}

iteminput := &dynamodb.putiteminput{
项目:itemmap,
表名:aws.string("mytable"),
}

好了,本文到此结束,带大家了解了《避免在 DynamoDb 上执行 PutItem 时出现错误的 AWS SDK Go V2 初始化 PutItemInput 结构方法》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>