Я использую 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" такой же, более новый "selected # 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"