登录
首页 >  Golang >  Go问答

DynamoDB 更新项目失败

来源:stackoverflow

时间:2024-04-15 10:45:33 414浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《DynamoDB 更新项目失败》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我正在使用 dynamodb go sdk 进行 crud 操作。我验证了 putitemgetitem 调用工作正常。但是,当我使用 updateitem 更新某些属性时,它会失败。我将其范围缩小到特定于以纪元格式存储当前时间戳的属性。

updateItem := &dynamodb.UpdateItemInput{
        TableName:aws.String(tableName),
        ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
            ":r": {
                S:aws.String("Renamed"),
            },
            ":rp": {
                S: aws.String("RenamingParty"),
            },
            ":rr": {
                S: aws.String("RenameReason"),
            },
            "rt": {
                N: aws.String(strconv.FormatInt(time.Now().Unix(), 10)),
            },
        },
        Key: map[string]*dynamodb.AttributeValue{
            "pKey": {
                S: aws.String(pKey),
            },
            "rKey": {
                S:aws.String(rKey),
            },
        },
        ReturnValues:aws.String("ALL_NEW"),
        UpdateExpression:aws.String("set RenameStatus = :r, RenamingParty = :rp, RenameReason = :rr RenameTime = :rt"),
    }

    _, err := svc.UpdateItem(updateItem)

返回错误

无法更新项目:%v validationexception:expressionattributevalues 包含无效键:语法错误;键:“rt” 状态码:400,请求id:


解决方案


您的属性 rt 似乎缺少 : -> :rt :)

到这里,我们也就讲完了《DynamoDB 更新项目失败》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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