【发布时间】:2019-10-06 01:39:07
【问题描述】:
我正在使用https://godoc.org/github.com/aws/aws-sdk-go-v2/service/dynamodb#DynamoDB.PutItemRequest
我的函数看起来像:
func (h dynamoHandler) save(selection DeliveryDate) (err error) {
av, err := dynamodbattribute.MarshalMap(selection)
if err != nil {
log.WithError(err).Error("failed to marshal selection")
return
}
req := h.db.PutItemRequest(&dynamodb.PutItemInput{
TableName: aws.String(h.Table),
Item: av,
})
_, err = req.Send()
if err != nil {
log.WithField("table", h.Table).WithError(err).Error("putting dynamodb")
return
}
return
}
我的假设是,由于分区键“wfr5a”是相同的,较新的“chosen#2019-05-19T13:42:54+08:00”(复合和排序键)应该替换行。
"OrderID (S)","StatusDate (S)","LastUpdated (S)"
"wfr5a","chosen#2019-05-19T13:42:54+08:00","2019-05-19T13:49:34+08:00"
"wfr5a","proposal#2019-05-19T13:42:54+08:00","2019-05-19T13:42:58+08:00"
尽管您可以看到,它创建了一个新项目。我错过了什么,所以它只是替换了记录,即“wfr5a”只有一个唯一的行
【问题讨论】:
标签: amazon-web-services go amazon-dynamodb